28 model based on the framework provided by Symbian platform will be required |
28 model based on the framework provided by Symbian platform will be required |
29 for commercial devices. </p> |
29 for commercial devices. </p> |
30 <p>The interfaces for power management on the kernel-side are shown in the |
30 <p>The interfaces for power management on the kernel-side are shown in the |
31 following diagram: </p> |
31 following diagram: </p> |
32 <fig id="GUID-4020768D-7FDF-58EC-82A7-F98E259046D0"> |
32 <fig id="GUID-4020768D-7FDF-58EC-82A7-F98E259046D0"> |
33 <image href="GUID-782E8D92-0431-50F5-95A0-5B231EBDF391_d0e376930_href.png" placement="inline"/> |
33 <image href="GUID-782E8D92-0431-50F5-95A0-5B231EBDF391_d0e382774_href.png" placement="inline"/> |
34 </fig> |
34 </fig> |
35 <ul> |
35 <ul> |
36 <li id="GUID-4E59C261-2025-5402-9EE1-EBC50BCD409F"><p>The power manager manages |
36 <li id="GUID-4E59C261-2025-5402-9EE1-EBC50BCD409F"><p>The power manager manages |
37 the transition between power states. </p> </li> |
37 the transition between power states. </p> </li> |
38 <li id="GUID-B3CD4688-45D0-5F46-A968-2DDD76ABB9B7"><p>The power controller |
38 <li id="GUID-B3CD4688-45D0-5F46-A968-2DDD76ABB9B7"><p>The power controller |
71 and then registers it with the power manager through a call to <xref href="GUID-B3D1C422-6A82-3C6E-9123-1E4F598F0366.dita#GUID-B3D1C422-6A82-3C6E-9123-1E4F598F0366/GUID-F66D72D0-AA27-3BAF-8915-C6E8CC4E7CCF"><apiname>DPowerController::Register()</apiname></xref>. |
71 and then registers it with the power manager through a call to <xref href="GUID-B3D1C422-6A82-3C6E-9123-1E4F598F0366.dita#GUID-B3D1C422-6A82-3C6E-9123-1E4F598F0366/GUID-F66D72D0-AA27-3BAF-8915-C6E8CC4E7CCF"><apiname>DPowerController::Register()</apiname></xref>. |
72 Registration puts a pointer to the <codeph>DPowerController</codeph> object |
72 Registration puts a pointer to the <codeph>DPowerController</codeph> object |
73 into the Symbian platform internal <codeph>DPowerManager</codeph> object. </p> <p>The |
73 into the Symbian platform internal <codeph>DPowerManager</codeph> object. </p> <p>The |
74 power controller is responsible for tracking wake-up events, notifying the |
74 power controller is responsible for tracking wake-up events, notifying the |
75 power manager of such events through a call to <xref href="GUID-B3D1C422-6A82-3C6E-9123-1E4F598F0366.dita#GUID-B3D1C422-6A82-3C6E-9123-1E4F598F0366/GUID-3524A807-F4A9-3DE4-918A-0C03BE0D1AEF"><apiname>DPowerController::WakeUpEvent()</apiname></xref>. </p> <fig id="GUID-7BBCE70B-381C-5E65-83CF-498B2C6D15DA"> |
75 power manager of such events through a call to <xref href="GUID-B3D1C422-6A82-3C6E-9123-1E4F598F0366.dita#GUID-B3D1C422-6A82-3C6E-9123-1E4F598F0366/GUID-3524A807-F4A9-3DE4-918A-0C03BE0D1AEF"><apiname>DPowerController::WakeUpEvent()</apiname></xref>. </p> <fig id="GUID-7BBCE70B-381C-5E65-83CF-498B2C6D15DA"> |
76 <image href="GUID-9D8C62FB-1E42-5B69-8ECC-2B68AD7C71A5_d0e377026_href.png" placement="inline"/> |
76 <image href="GUID-9D8C62FB-1E42-5B69-8ECC-2B68AD7C71A5_d0e382870_href.png" placement="inline"/> |
77 </fig> </section> |
77 </fig> </section> |
78 <section id="GUID-DC5F1ECD-CCA3-59FF-A2F1-A3DBD76CD458"><title>Power handlers</title> <p>Device |
78 <section id="GUID-DC5F1ECD-CCA3-59FF-A2F1-A3DBD76CD458"><title>Power handlers</title> <p>Device |
79 drivers interface to the power manager through the <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita"><apiname>DPowerHandler</apiname></xref> class. |
79 drivers interface to the power manager through the <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita"><apiname>DPowerHandler</apiname></xref> class. |
80 This is an abstract class that requires a concrete implementation by device |
80 This is an abstract class that requires a concrete implementation by device |
81 (peripheral) drivers. </p> <p>How a <codeph>DPowerHandler</codeph> object |
81 (peripheral) drivers. </p> <p>How a <codeph>DPowerHandler</codeph> object |
86 power manager calls <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita#GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7/GUID-578DB5FB-731D-36B2-A459-AAC7F250D726"><apiname>DPowerHandler::PowerDown()</apiname></xref> when it |
86 power manager calls <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita#GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7/GUID-578DB5FB-731D-36B2-A459-AAC7F250D726"><apiname>DPowerHandler::PowerDown()</apiname></xref> when it |
87 requests a power state transition to either the <i>Off</i> or the <i>Standby</i> state. |
87 requests a power state transition to either the <i>Off</i> or the <i>Standby</i> state. |
88 The power manager calls <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita#GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7/GUID-DDC564B4-BD12-30E9-B04A-DBA6CFAF8743"><apiname>DPowerHandler::PowerUp()</apiname></xref> when it |
88 The power manager calls <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita#GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7/GUID-DDC564B4-BD12-30E9-B04A-DBA6CFAF8743"><apiname>DPowerHandler::PowerUp()</apiname></xref> when it |
89 requests a power state transition to the <i>Active</i> state. The driver must |
89 requests a power state transition to the <i>Active</i> state. The driver must |
90 respond to a power transition notification after it has dealt with it by calling <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita#GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7/GUID-BF62042B-FB7B-3D5B-8379-490FBA284A7A"><apiname>DPowerHandler::PowerUpDone()</apiname></xref> or <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita#GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7/GUID-EBE8CFF8-50BD-3AC3-A4C8-47094DA5674D"><apiname>DPowerHandler::PowerDownDone()</apiname></xref> as appropriate. </p> <fig id="GUID-5A5E8846-DE8A-50FC-9D0E-8D8E88291835"> |
90 respond to a power transition notification after it has dealt with it by calling <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita#GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7/GUID-BF62042B-FB7B-3D5B-8379-490FBA284A7A"><apiname>DPowerHandler::PowerUpDone()</apiname></xref> or <xref href="GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7.dita#GUID-761AE02B-41A6-35EA-AA9F-0AEEFF67A6F7/GUID-EBE8CFF8-50BD-3AC3-A4C8-47094DA5674D"><apiname>DPowerHandler::PowerDownDone()</apiname></xref> as appropriate. </p> <fig id="GUID-5A5E8846-DE8A-50FC-9D0E-8D8E88291835"> |
91 <image href="GUID-1BB379B6-C0B5-5099-90A0-1BA39DC2C7DD_d0e377081_href.png" placement="inline"/> |
91 <image href="GUID-1BB379B6-C0B5-5099-90A0-1BA39DC2C7DD_d0e382925_href.png" placement="inline"/> |
92 </fig> </section> |
92 </fig> </section> |
93 <section id="GUID-8062EF29-9CE3-5414-9DE2-E494F48F0CFB"><title>Shared power |
93 <section id="GUID-8062EF29-9CE3-5414-9DE2-E494F48F0CFB"><title>Shared power |
94 sources</title> <p>Note: this information applies to Symbian platform before |
94 sources</title> <p>Note: this information applies to Symbian platform before |
95 v9.5. For v9.5 and after, see the <xref href="GUID-2ECF13A1-9D56-5740-A09F-8267E6A45DD9.dita">Power |
95 v9.5. For v9.5 and after, see the <xref href="GUID-2ECF13A1-9D56-5740-A09F-8267E6A45DD9.dita">Power |
96 Resource Manager</xref> documentation. </p> <p>The set of power sources on |
96 Resource Manager</xref> documentation. </p> <p>The set of power sources on |