Evolution Developer's Guide
<<< Previous Page | Home | Up | Next Page >>>

# Alarm trigger generation code

The main function to generate alarm trigger instances is `generate_alarms_for_comp()` in `evolution/calendar/pcs/cal-backend-file.c`. This function calls `compute_alarm_range()` to expand the specified range of time in the way described in the previous section. It then generates the instances for relative alarm triggers inside the `add_alarm_occurrences_cb()` callback, which is used by `cal_recur_generate_instances()` with the expanded range of time. The callback goes through all of the calendar component's relative alarm triggers and adds the trigger offsets to the occurrence's time; the results are added as CalAlarmInstance structures to the final list of trigger instances. Finally, `generate_alarms_for_comp()` calls `generate_absolute_triggers()`, which simply adds the instances for absolute alarm triggers; these are the absolute times that are within the time range that was requested originally. In the very end, the list of instances is sorted to produce nicer results.

<<< Previous Page | Home | Up | Next Page >>>
Generating trigger instances | Evolution API Reference