aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/cal-util/cal-component.h
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/cal-util/cal-component.h')
-rw-r--r--calendar/cal-util/cal-component.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/calendar/cal-util/cal-component.h b/calendar/cal-util/cal-component.h
index d226940586..664599f9f6 100644
--- a/calendar/cal-util/cal-component.h
+++ b/calendar/cal-util/cal-component.h
@@ -182,6 +182,29 @@ typedef enum {
CAL_COMPONENT_ALARM_UNKNOWN
} CalComponentAlarmAction;
+typedef enum {
+ CAL_COMPONENT_ALARM_TRIGGER_RELATIVE,
+ CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE
+} CalComponentAlarmTriggerType;
+
+typedef enum {
+ CAL_COMPONENT_ALARM_TRIGGER_RELATED_START,
+ CAL_COMPONENT_ALARM_TRIGGER_RELATED_END
+} CalComponentAlarmTriggerRelated;
+
+typedef struct {
+ CalComponentAlarmTriggerType type;
+
+ union {
+ struct {
+ struct icaldurationtype duration;
+ CalComponentAlarmTriggerRelated related;
+ } relative;
+
+ struct icaltimetype absolute;
+ } u;
+} CalComponentAlarmTrigger;
+
CalComponentAlarm *cal_component_get_first_alarm (CalComponent *comp);
CalComponentAlarm *cal_component_get_next_alarm (CalComponent *comp);
@@ -190,6 +213,10 @@ void cal_component_alarm_free (CalComponentAlarm *alarm);
void cal_component_alarm_get_action (CalComponentAlarm *alarm, CalComponentAlarmAction *action);
void cal_component_alarm_set_action (CalComponentAlarm *alarm, CalComponentAlarmAction action);
+void cal_component_alarm_get_trigger (CalComponentAlarm *alarm, CalComponentAlarmTrigger **trigger);
+void cal_component_alarm_set_trigger (CalComponentAlarm *alarm, CalComponentAlarmTrigger *trigger);
+void cal_component_alarm_free_trigger (CalComponentAlarmTrigger *trigger);
+
END_GNOME_DECLS