PebbleOS
Loading...
Searching...
No Matches
Typedefs | Functions
Reminders

Pops up reminders at their time. More...

Typedefs

typedef TimelineItem Reminder
 A reminder.
 
typedef TimelineItemId ReminderId
 Id of a reminder.
 

Functions

status_t reminders_update_timer (void)
 Arm the reminder timer for the next stored reminder.
 
status_t reminders_insert (Reminder *reminder)
 Insert a reminder into the Reminders database.
 
status_t reminders_init (void)
 Initialize reminders and arm the timer.
 
status_t reminders_delete (ReminderId *reminder_id)
 Delete a reminder, emitting a BlobDB event.
 
bool reminders_can_snooze (Reminder *reminder)
 Check whether a reminder can be snoozed.
 
status_t reminders_snooze (Reminder *reminder)
 Snooze a reminder.
 
void reminders_handle_reminder_removed (const Uuid *reminder_id)
 Post an event telling that a reminder was removed.
 
void reminders_handle_reminder_updated (const Uuid *reminder_id)
 Post an event telling that a triggered reminder changed.
 

Detailed Description

Pops up reminders at their time.

Reminders are timeline items of type TimelineItemTypeReminder stored in the Reminders BlobDB; their parent is the pin they remind of. A once-a-second check against the RTC triggers the next reminder, marks it reminded and posts a PEBBLE_REMINDER_EVENT.

Typedef Documentation

◆ Reminder

A reminder.

◆ ReminderId

Id of a reminder.

Function Documentation

◆ reminders_can_snooze()

bool reminders_can_snooze ( Reminder *  reminder)

Check whether a reminder can be snoozed.

Parameters
reminderReminder.
Returns
true if it can snooze for a non-zero amount of time.

◆ reminders_delete()

status_t reminders_delete ( ReminderId *  reminder_id)

Delete a reminder, emitting a BlobDB event.

Parameters
reminder_idId of the reminder.
Returns
S_SUCCESS or an error.

◆ reminders_handle_reminder_removed()

void reminders_handle_reminder_removed ( const Uuid *  reminder_id)

Post an event telling that a reminder was removed.

Parameters
reminder_idId of the removed reminder.

◆ reminders_handle_reminder_updated()

void reminders_handle_reminder_updated ( const Uuid *  reminder_id)

Post an event telling that a triggered reminder changed.

Parameters
reminder_idId of the updated reminder.

◆ reminders_init()

status_t reminders_init ( void  )

Initialize reminders and arm the timer.

Returns
S_SUCCESS or an error.

◆ reminders_insert()

status_t reminders_insert ( Reminder *  reminder)

Insert a reminder into the Reminders database.

Parameters
reminderReminder to insert.
Returns
S_SUCCESS or an error.

◆ reminders_snooze()

status_t reminders_snooze ( Reminder *  reminder)

Snooze a reminder.

Long before the event of the parent pin, snoozes for half the time left; close to it, for a constant delay; too long after it, not at all. The reminder is reinserted with the new time and its reminded status cleared.

Parameters
reminderReminder to snooze.
Return values
S_SUCCESSSnoozed.
E_INVALID_OPERATIONThe reminder cannot be snoozed.
Returns
Another error if reinserting failed.

◆ reminders_update_timer()

status_t reminders_update_timer ( void  )

Arm the reminder timer for the next stored reminder.

Returns
S_SUCCESS, also when there are no reminders, or an error.