Tizen Native API
|
Functions | |
int | alarm_schedule_after_delay (app_control_h app_control, int delay, int period, int *alarm_id) |
Sets an alarm to be triggered after a specific time. | |
int | alarm_schedule_at_date (app_control_h app_control, struct tm *date, int period, int *alarm_id) |
Sets an alarm to be triggered at a specific time. | |
int | alarm_schedule_with_recurrence_week_flag (app_control_h app_control, struct tm *date, int week_flag, int *alarm_id) |
Sets an alarm to be triggered periodically, starting at a specific time. | |
int | alarm_get_scheduled_recurrence_week_flag (int alarm_id, int *week_flag) |
Gets the recurrence days of the week. | |
int | alarm_cancel (int alarm_id) |
Cancels the alarm with the specific alarm ID. | |
int | alarm_cancel_all (void) |
Cancels all scheduled alarms that are registered by the application that calls this API. | |
int | alarm_foreach_registered_alarm (alarm_registered_alarm_cb callback, void *user_data) |
Retrieves the IDs of all registered alarms by invoking a callback once for each scheduled alarm. | |
int | alarm_get_scheduled_date (int alarm_id, struct tm *date) |
Gets the scheduled time from the given alarm ID in C standard time struct. | |
int | alarm_get_scheduled_period (int alarm_id, int *period) |
Gets the period of time between the recurrent alarms. | |
int | alarm_get_current_time (struct tm *date) |
Gets the current system time using C standard time struct. | |
int | alarm_get_app_control (int alarm_id, app_control_h *app_control) |
Gets the app_control to be invoked when the the alarm is triggered. | |
Typedefs | |
typedef bool(* | alarm_registered_alarm_cb )(int alarm_id, void *user_data) |
Called once for each scheduled alarm to get the alarm ID. | |
Defines | |
#define | APP_CONTROL_DATA_ALARM_ID "http://tizen.org/appcontrol/data/alarm_id" |
Definition to app_control extra data : the ID of the alarm registered. |
The Alarm API allows setting an "alarm clock" for the delivery of a notification at some point in the future.
#include <app_alarm.h>
Mobile devices typically give constant access to information from various sources. Some of this information is best delivered through alarms - the most obvious case is a calendar scheduling application which lets you know when a meeting is about to start. Alarms are certainly better than actively waiting in a loop. They are also better than putting an interface to sleep because they do not block your main UI thread. Use of alarms helps build smooth user experiences and implements unattended data synchronization tasks. If an application is installed after setting the alarm, your alarm is cancelled automatically.
There are 3 ways to set an alarm.
FUNCTION | DESCRIPTION |
---|---|
alarm_schedule_after_delay() | Sets an alarm to be triggered at specific time(can repeat in seconds) |
alarm_schedule_at_date() | Sets an alarm to be triggered after specific delay(can repeat in seconds) |
alarm_schedule_with_recurrence_week_flag() | Sets an alarm to be triggered at specific time with recurrent days of the week(can repeat on days of the week) |
#define APP_CONTROL_DATA_ALARM_ID "http://tizen.org/appcontrol/data/alarm_id" |
Definition to app_control extra data : the ID of the alarm registered.
typedef bool(* alarm_registered_alarm_cb)(int alarm_id, void *user_data) |
Called once for each scheduled alarm to get the alarm ID.
[in] | alarm_id | The alarm ID returned when the alarm is scheduled |
[in] | user_data | The user data passed from the foreach function |
true
to continue with the next iteration of the loop, otherwise false
to break out of the loop enum alarm_error_e |
Enumeration for Alarm Error.
enum alarm_week_flag_e |
Enumeration for Alarm Week Flag, the days of the week.
int alarm_cancel | ( | int | alarm_id | ) |
Cancels the alarm with the specific alarm ID.
[in] | alarm_id | The alarm ID that is cancelled |
0
on success, otherwise a negative error value ALARM_ERROR_NONE | Successful |
ALARM_ERROR_CONNECTION_FAIL | Failed to connect to an alarm server |
ALARM_ERROR_PERMISSION_DENIED | Permission denied |
int alarm_cancel_all | ( | void | ) |
Cancels all scheduled alarms that are registered by the application that calls this API.
0
on success, otherwise a negative error value ALARM_ERROR_NONE | Successful |
ALARM_ERROR_CONNECTION_FAIL | Failed to connect to an alarm server |
ALARM_ERROR_PERMISSION_DENIED | Permission denied |
int alarm_foreach_registered_alarm | ( | alarm_registered_alarm_cb | callback, |
void * | user_data | ||
) |
Retrieves the IDs of all registered alarms by invoking a callback once for each scheduled alarm.
[in] | callback | The callback function to invoke |
[in] | user_data | The user data to be passed to the callback function |
0
on success, otherwise a negative error value ALARM_ERROR_NONE | Successful |
ALARM_ERROR_INVALID_PARAMETER | Invalid parameter |
ALARM_ERROR_CONNECTION_FAIL | Failed to connect to an alarm server |
ALARM_ERROR_PERMISSION_DENIED | Permission denied |
int alarm_get_app_control | ( | int | alarm_id, |
app_control_h * | app_control | ||
) |
Gets the app_control to be invoked when the the alarm is triggered.
[in] | alarm_id | The alarm ID uniquely identifies an alarm |
[out] | app_control | The app_control handle to launch when the alarm is triggered |
0
on success, otherwise a negative error value ALARM_ERROR_NONE | Successful |
ALARM_ERROR_INVALID_PARAMETER | Invalid parameter |
ALARM_ERROR_OUT_OF_MEMORY | Out of memory |
ALARM_ERROR_PERMISSION_DENIED | Permission denied |
int alarm_get_current_time | ( | struct tm * | date | ) |
Gets the current system time using C standard time struct.
[out] | date | The current system time |
0
on success, otherwise a negative error value ALARM_ERROR_NONE | Successful |
ALARM_ERROR_INVALID_PARAMETER | Invalid parameter |
ALARM_ERROR_PERMISSION_DENIED | Permission denied |
int alarm_get_scheduled_date | ( | int | alarm_id, |
struct tm * | date | ||
) |
Gets the scheduled time from the given alarm ID in C standard time struct.
[in] | alarm_id | The alarm ID returned when the alarm is scheduled |
[out] | date | The time value of the next alarm event |
0
on success, otherwise a negative error value ALARM_ERROR_NONE | Successful |
ALARM_ERROR_INVALID_PARAMETER | Invalid parameter |
ALARM_ERROR_CONNECTION_FAIL | Failed to connect to an alarm server |
ALARM_ERROR_PERMISSION_DENIED | Permission denied |
int alarm_get_scheduled_period | ( | int | alarm_id, |
int * | period | ||
) |
Gets the period of time between the recurrent alarms.
[in] | alarm_id | The alarm ID returned when the alarm is scheduled |
[out] | period | The period of time between recurrent alarms in seconds |
0
on success, otherwise a negative error value ALARM_ERROR_NONE | Successful |
ALARM_ERROR_INVALID_PARAMETER | Invalid parameter |
ALARM_ERROR_CONNECTION_FAIL | Failed to connect to an alarm server |
ALARM_ERROR_PERMISSION_DENIED | Permission denied |
int alarm_get_scheduled_recurrence_week_flag | ( | int | alarm_id, |
int * | week_flag | ||
) |
Gets the recurrence days of the week.
[in] | alarm_id | The alarm ID returned when the alarm is scheduled |
[out] | week_flag | The recurrence days of the week, week_flag may be a combination of days, like ALARM_WEEK_FLAG_TUESDAY | ALARM_WEEK_FLAG_FRIDAY |
0
on success, otherwise a negative error value ALARM_ERROR_NONE | Successful |
ALARM_ERROR_INVALID_PARAMETER | Invalid parameter |
ALARM_ERROR_PERMISSION_DENIED | Permission denied |
int alarm_schedule_after_delay | ( | app_control_h | app_control, |
int | delay, | ||
int | period, | ||
int * | alarm_id | ||
) |
Sets an alarm to be triggered after a specific time.
The alarm will first go off delay seconds later and then will go off every certain amount of time defined using period seconds. If period is bigger than 0
, the alarm will be scheduled after the period time. If period is set to 0
, the alarm will go off just once without repetition. To cancel the alarm, call alarm_cancel() with alarm_id.
[in] | app_control | The destination app_control to perform a specific task when the alarm is triggered |
[in] | delay | The amount of time before the first execution (in seconds) |
[in] | period | The amount of time between subsequent alarms (in seconds) |
[out] | alarm_id | The alarm ID that uniquely identifies an alarm |
0
on success, otherwise a negative error value ALARM_ERROR_NONE | Successful |
ALARM_ERROR_INVALID_PARAMETER | Invalid parameter |
ALARM_ERROR_INVALID_TIME | Triggered time is invalid |
ALARM_ERROR_CONNECTION_FAIL | Failed to connect to an alarm server |
ALARM_ERROR_PERMISSION_DENIED | Permission denied |
int alarm_schedule_at_date | ( | app_control_h | app_control, |
struct tm * | date, | ||
int | period, | ||
int * | alarm_id | ||
) |
Sets an alarm to be triggered at a specific time.
The date describes the time of the first occurrence. If period is bigger than 0
, the alarm will be scheduled after the period time. If period is set to 0
, the alarm will go off just once without repetition. To cancel the alarm, call alarm_cancel() with alarm_id.
[in] | app_control | The destination app_control to perform specific work when the alarm is triggered |
[in] | date | The first active alarm time |
[in] | period | The amount of time between subsequent alarms(in second) |
[out] | alarm_id | The alarm ID that uniquely identifies an alarm |
0
on success, otherwise a negative error value ALARM_ERROR_NONE | Successful |
ALARM_ERROR_INVALID_PARAMETER | Invalid parameter |
ALARM_ERROR_INVALID_DATE | Triggered date is invalid |
ALARM_ERROR_CONNECTION_FAIL | Failed to connect to an alarm server |
ALARM_ERROR_PERMISSION_DENIED | Permission denied |
int alarm_schedule_with_recurrence_week_flag | ( | app_control_h | app_control, |
struct tm * | date, | ||
int | week_flag, | ||
int * | alarm_id | ||
) |
Sets an alarm to be triggered periodically, starting at a specific time.
The date describes the time of the first occurrence. week_flag is the repeat value of the days of the week. If week_flag is ALARM_WEEK_FLAG_TUESDAY, the alarm will repeat every Tuesday at a specific time. To cancel the alarm, call alarm_cancel() with alarm_id.
[in] | app_control | The destination app_control to perform specific work when the alarm is triggered |
[in] | date | The first active alarm time |
[in] | week_flag | The day of the week, week_flag may be a combination of days, like ALARM_WEEK_FLAG_TUESDAY | ALARM_WEEK_FLAG_FRIDAY |
[out] | alarm_id | The alarm ID that uniquely identifies an alarm |
0
on success, otherwise a negative error value ALARM_ERROR_NONE | Successful |
ALARM_ERROR_INVALID_PARAMETER | Invalid parameter |
ALARM_ERROR_INVALID_DATE | Triggered date is invalid |
ALARM_ERROR_CONNECTION_FAIL | Failed to connect to an alarm server |
ALARM_ERROR_PERMISSION_DENIED | Permission denied |