All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups

Detailed Description

The wakeup API allows applications to schedule for a wakeup event. Wakeup events launch applications at a specified time if they are not running, and calls the WakeupHandler callback if the application has subscribed to the service.

Note
The WakeupHander callback will occur only for applications that have subscribed a wakeup handler and are running when a wakeup event occurs. clock_to_timestamp is provided to simplify wakeup event scheduling.

Function Documentation

void wakeup_cancel ( WakeupId  wakeup_id)

Cancels a wakeup event.

Parameters
wakeup_idWakeup event to cancel
void wakeup_cancel_all ( void  )

Cancels all wakeup event for the app.

bool wakeup_get_launch_event ( WakeupId wakeup_id,
int32_t *  cookie 
)

Retrieves the wakeup event info for an app that was launched by a wakeup_event (ie. launch_reason() === APP_LAUNCH_WAKEUP) so that an app may display information regarding the wakeup event.

Parameters
wakeup_idWakeupId for the wakeup event that caused the app to wakeup
cookieApp provided reason for the wakeup event
Returns
True if app was launched due to a wakeup event, false otherwise
bool wakeup_query ( WakeupId  wakeup_id,
time_t timestamp 
)

Checks if the current WakeupId is still scheduled and therefore valid.

Parameters
wakeup_idWakeup event to query for validity and scheduled time
timestampOptionally points to an address of a time_t variable to store the time that the wakeup event is scheduled to occur. (The time is in UTC, but local time when clock_is_timezone_set returns false). You may pass NULL instead if you do not need it.
Returns
True if WakeupId is still scheduled, false if it doesn't exist or has already occurred
WakeupId wakeup_schedule ( time_t  timestamp,
int32_t  cookie,
bool  notify_if_missed 
)

Registers a wakeup event that triggers a callback at the specified time. Applications may only schedule up to 8 wakeup events. Wakeup events are given a 1 minute duration window, in that no application may schedule a wakeup event with 1 minute of a currently scheduled wakeup event.

Parameters
timestampThe requested time (UTC) for the wakeup event to occur
cookieThe application specific reason for the wakeup event
notify_if_missedOn powering on Pebble, will alert user when notifications were missed due to Pebble being off.
Returns
negative values indicate errors (StatusCode) E_RANGE if the event cannot be scheduled due to another event in that period. E_INVALID_ARGUMENT if the time requested is in the past. E_OUT_OF_RESOURCES if the application has already scheduled all 8 wakeup events. E_INTERNAL if a system error occurred during scheduling.
void wakeup_service_subscribe ( WakeupHandler  handler)

Registers a WakeupHandler to be called when wakeup events occur.

Parameters
handlerThe callback that gets called when the wakeup event occurs

Typedef Documentation

typedef void(* WakeupHandler)(WakeupId wakeup_id, int32_t cookie)

The type of function which can be called when a wakeup event occurs. The arguments will be the id of the wakeup event that occurred, as well as the scheduled cookie provided to app_wakeup_schedule.

typedef int32_t WakeupId

WakeupId is an identifier for a wakeup event.