17 and perform other utility functions. The Alarm client API allows other components |
17 and perform other utility functions. The Alarm client API allows other components |
18 to interact with the Alarm Server. The Alarm Server sends notification of |
18 to interact with the Alarm Server. The Alarm Server sends notification of |
19 alarm expiry to the Alert Server, which then notifies the Alarm UI to display |
19 alarm expiry to the Alert Server, which then notifies the Alarm UI to display |
20 dialogs and play sound. </p> |
20 dialogs and play sound. </p> |
21 <p>The typical clients of Alarm Server include Clock and Calendar applications. </p> |
21 <p>The typical clients of Alarm Server include Clock and Calendar applications. </p> |
22 <section><title>Purpose</title> <p>The Alarm Server manages the alarms in |
22 <section id="GUID-4BD14572-C34A-4541-A0A6-63ACE773FC58"><title>Purpose</title> <p>The Alarm Server manages the alarms in |
23 the system and provides the following functionality: </p> <ul> |
23 the system and provides the following functionality: </p> <ul> |
24 <li id="GUID-56175798-4930-55A3-ACD8-848192C07A63"><p>adding, updating and |
24 <li id="GUID-56175798-4930-55A3-ACD8-848192C07A63"><p>adding, updating and |
25 deleting alarms. </p> </li> |
25 deleting alarms. </p> </li> |
26 <li id="GUID-FCF13562-7E88-5A5B-84B9-05B7934E7277"><p>getting and setting |
26 <li id="GUID-FCF13562-7E88-5A5B-84B9-05B7934E7277"><p>getting and setting |
27 client-specific data associated with the alarm. </p> </li> |
27 client-specific data associated with the alarm. </p> </li> |
31 <li id="GUID-57B8169F-1166-5534-9236-D1C367AB2413"><p>getting and setting |
31 <li id="GUID-57B8169F-1166-5534-9236-D1C367AB2413"><p>getting and setting |
32 Alarm Server’s global sound state and play intervals. </p> </li> |
32 Alarm Server’s global sound state and play intervals. </p> </li> |
33 <li id="GUID-7BB3AD26-5650-5B6A-B656-76A24EF9086A"><p>notifying the client |
33 <li id="GUID-7BB3AD26-5650-5B6A-B656-76A24EF9086A"><p>notifying the client |
34 when alarm settings change and when the alarm expires. </p> </li> |
34 when alarm settings change and when the alarm expires. </p> </li> |
35 </ul> </section> |
35 </ul> </section> |
36 <section><title>Key concepts and terms</title> <dl> |
36 <section id="GUID-E208DCC1-4183-4773-8E4A-CC5989581F5F"><title>Key concepts and terms</title> <dl> |
37 <dlentry> |
37 <dlentry> |
38 <dt>Duration</dt> |
38 <dt>Duration</dt> |
39 <dd><p>It is the time period, in seconds, for which the alarm sound is played. </p> </dd> |
39 <dd><p>It is the time period, in seconds, for which the alarm sound is played. </p> </dd> |
40 </dlentry> |
40 </dlentry> |
41 <dlentry> |
41 <dlentry> |
83 <dd><p>An alarm which does not expire normally because of an environment change |
83 <dd><p>An alarm which does not expire normally because of an environment change |
84 but the alarm’s expiry time is put in the past, is referred as Skipped Calendar |
84 but the alarm’s expiry time is put in the past, is referred as Skipped Calendar |
85 alarms. </p> </dd> |
85 alarms. </p> </dd> |
86 </dlentry> |
86 </dlentry> |
87 </dl> </section> |
87 </dl> </section> |
88 <section><title>Architecture</title> <p>Alarm Server is implemented using |
88 <section id="GUID-9AE0E149-5735-46AC-9BC5-688696828150"><title>Architecture</title> <p>Alarm Server is implemented using |
89 the Symbian platform IPC client-server architecture. It has an interface to |
89 the Symbian platform IPC client-server architecture. It has an interface to |
90 the Alarm Alert server, which is delivered as part of the Application Framework |
90 the Alarm Alert server, which is delivered as part of the Application Framework |
91 (UIKON component). Alarm Alert Server is responsible for displaying the alarm |
91 (UIKON component). Alarm Alert Server is responsible for displaying the alarm |
92 dialog when an alarm expires. The Alarm Server implements the Alarm Alert |
92 dialog when an alarm expires. The Alarm Server implements the Alarm Alert |
93 server’s client side DLL to send and receive notifications to and from the |
93 server’s client side DLL to send and receive notifications to and from the |
94 Alarm UI. Alarm Alert Server is a part of the UIKON server (<codeph>Eiksrv.exe</codeph>). |
94 Alarm UI. Alarm Alert Server is a part of the UIKON server (<codeph>Eiksrv.exe</codeph>). |
95 The Alarm Server itself implements the client-side APIs since it is the only |
95 The Alarm Server itself implements the client-side APIs since it is the only |
96 client for the Alarm Alert server. The following diagram illustrates the Alarm |
96 client for the Alarm Alert server. The following diagram illustrates the Alarm |
97 Server architecture: </p> <fig id="GUID-D6309F3E-4835-5703-8929-8A108CC5D376"> |
97 Server architecture: </p> <fig id="GUID-D6309F3E-4835-5703-8929-8A108CC5D376"> |
98 <title> Alarm Server Architecture </title> |
98 <title> Alarm Server Architecture </title> |
99 <image href="GUID-7CD8F0E3-68C3-5939-A96D-547740D796E5_d0e152190_href.png" placement="inline"/> |
99 <image href="GUID-7CD8F0E3-68C3-5939-A96D-547740D796E5_d0e177123_href.png" placement="inline"/> |
100 </fig> <p><b>Alarm Client and Alarm Shared</b> </p> <p>They are the static |
100 </fig> <p><b>Alarm Client and Alarm Shared</b> </p> <p>They are the static |
101 interface DLLs. Alarm client is the client side of the Alarm Server, which |
101 interface DLLs. Alarm client is the client side of the Alarm Server, which |
102 allows other components to interact with the Alarm Server. </p> <p>The Alarm |
102 allows other components to interact with the Alarm Server. </p> <p>The Alarm |
103 Shared facilitates a common format shared across server and its clients for |
103 Shared facilitates a common format shared across server and its clients for |
104 providing definition for an alarm. It consists of shared objects such as alarm |
104 providing definition for an alarm. It consists of shared objects such as alarm |
144 provided by the device creator. </p> <p>It is also responsible for playing |
144 provided by the device creator. </p> <p>It is also responsible for playing |
145 sounds, flashing lights and displaying the message. Through the UIKON server, |
145 sounds, flashing lights and displaying the message. Through the UIKON server, |
146 alarms can be cleared, snoozed or silenced. Alarm server implements and uses |
146 alarms can be cleared, snoozed or silenced. Alarm server implements and uses |
147 the client side interface. Alarm UI implements the server side of the UIKON |
147 the client side interface. Alarm UI implements the server side of the UIKON |
148 server. </p> </section> |
148 server. </p> </section> |
149 <section><title>APIs</title> <p>The Alarm Server provides the following client |
149 <section id="GUID-DA3E40F6-983B-4B4D-8543-C3FFA757E230"><title>APIs</title> <p>The Alarm Server provides the following client |
150 API: </p> <table id="GUID-60D7DF2B-BA9C-5CEC-9048-6B8536D04CFE"> |
150 API: </p> <table id="GUID-60D7DF2B-BA9C-5CEC-9048-6B8536D04CFE"> |
151 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
151 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
152 <thead> |
152 <thead> |
153 <row> |
153 <row> |
154 <entry>API</entry> |
154 <entry>API</entry> |
156 </row> |
156 </row> |
157 </thead> |
157 </thead> |
158 <tbody> |
158 <tbody> |
159 <row> |
159 <row> |
160 <entry><p> <xref href="GUID-3598EAEE-0EF4-35A2-89E5-F3B2555B1AB4.dita"><apiname>RASCliSession</apiname></xref> </p> </entry> |
160 <entry><p> <xref href="GUID-3598EAEE-0EF4-35A2-89E5-F3B2555B1AB4.dita"><apiname>RASCliSession</apiname></xref> </p> </entry> |
161 <entry><p>Client interface to Alarm session on Symbian Platform. </p></entry> |
161 <entry><p>Client interface to the Alarm session. </p></entry> |
162 </row> |
162 </row> |
163 </tbody> |
163 </tbody> |
164 </tgroup> |
164 </tgroup> |
165 </table> </section> |
165 </table> </section> |
166 <section><title>Typical uses</title> <p>The following are the typical use |
166 <section id="GUID-2D95B5E3-88E2-4C30-8917-AE3EA24C78D8"><title>Typical uses</title> <p>The following are the typical use |
167 cases of Alarm Server: </p> <ul> |
167 cases of Alarm Server: </p> <ul> |
168 <li id="GUID-854E8EA9-3194-5D0E-8BB5-3006B04BB6D3"><p>Using Alarm Server to |
168 <li id="GUID-854E8EA9-3194-5D0E-8BB5-3006B04BB6D3"><p>Using Alarm Server to |
169 add, update and delete alarms, set alarm status and so on. </p> </li> |
169 add, update and delete alarms, set alarm status and so on. </p> </li> |
170 <li id="GUID-9A999DC2-6D48-58B8-B251-F22A88A1978C"><p>Playing an alarm continuously. </p> </li> |
170 <li id="GUID-9A999DC2-6D48-58B8-B251-F22A88A1978C"><p>Playing an alarm continuously. </p> </li> |
171 <li id="GUID-2D7D1AF6-2728-59CF-BD92-32D97FD6C6B6"><p>Activating an alarm |
171 <li id="GUID-2D7D1AF6-2728-59CF-BD92-32D97FD6C6B6"><p>Activating an alarm |