Symbian3/PDK/Source/GUID-114D4F3F-9358-5B50-94DC-45CCBA783DF4.dita
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 9 59758314f811
equal deleted inserted replaced
4:4816d766a08a 5:f345bda72bc4
    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