The Alarm Server sends notifications to applications when alarm
settings change; this includes indications when an alarm goes off.
A client-side API for the alarm server is RASCliSession
. It is a standard asynchronous service provider, and the client
application should implement an active object to receive events.
To be able to use the Alarm Server services, client applications must first be connected to the server.
User::LeaveIfError( iAlarmServer.Connect() );
To receive events, the NotifyChange( TRequestStatus
&aStatus, TAlarmId &aAlarmId
) function is called
and the active object is set active.
iAlarmServer.NotifyChange( iStatus, iAlarmId ); SetActive();
Notifications are cancelled by calling the NotifyOnChangeCancel()
function.
iAlarmServer.NotifyChangeCancel();
When alarm settings change, the RunL()
function
of the active object is called. Alarms in the alarm server database
can be retrieved using the GetAlarmIdListL()
function,
which fills an array of alarm IDs.
void GetAlarmIdListL( RArray< TAlarmId > &aAlarmIds )
When using RArray
, remember to call Close()
or Reset()
on it when it
is not needed anymore. The RASCliSession::GetAlarmDetails()
function returns the TASShdAlarm
structure
for a specific alarm, which is identified by the alarm ID.
TInt GetAlarmDetails( TAlarmId aAlarmId, TASShdAlarm &aAlarm )
The TASShdAlarm
structure contains information
about an alarm, and information is accessed through simple inline
functions. See the ASShdAlarm.h
header file for
further information.