diff options
Diffstat (limited to 'calendar/idl')
-rw-r--r-- | calendar/idl/evolution-calendar.idl | 64 |
1 files changed, 38 insertions, 26 deletions
diff --git a/calendar/idl/evolution-calendar.idl b/calendar/idl/evolution-calendar.idl index bee377c76a..3e64e07888 100644 --- a/calendar/idl/evolution-calendar.idl +++ b/calendar/idl/evolution-calendar.idl @@ -16,17 +16,20 @@ module GNOME { module Evolution { module Calendar { - /* A calendar object (event/todo/journal/etc), represented as an + /* A calendar component (event/todo/journal/etc), represented as an * iCalendar string. */ typedef string CalObj; - /* An unique identifier for a calendar object */ + /* A unique identifier for a calendar component */ typedef string CalObjUID; /* Sequence of unique identifiers */ typedef sequence<CalObjUID> CalObjUIDSeq; + /* A unique identifier for an alarm subcomponent */ + typedef string CalAlarmUID; + /* Flags for getting UID sequences */ typedef long CalObjType; const CalObjType TYPE_EVENT = 1 << 0; @@ -51,11 +54,11 @@ module Calendar { /* Used to store a time_t */ typedef unsigned long Time_t; - /* An instance of a calendar object that actually occurs. These are + /* An instance of a calendar component that actually occurs. These are * "virtual" objects in that they are used to represent instances of * recurring events and alarms. "Real" objects just contain the * information required to figure out the times at which they recur or - * trigger. + * trigger. */ struct CalObjInstance { CalObjUID uid; @@ -63,6 +66,7 @@ module Calendar { Time_t end; }; + /* Used to transfer a list of component occurrences */ typedef sequence<CalObjInstance> CalObjInstanceSeq; /* An object change */ @@ -71,18 +75,28 @@ module Calendar { CalObjChangeType type; }; + /* Used to transfer a list of changed components */ typedef sequence<CalObjChange> CalObjChangeSeq; /* An alarm trigger instance */ struct CalAlarmInstance { - CalObjUID uid; - AlarmType type; + CalAlarmUID auid; Time_t trigger; Time_t occur; }; + /* Used to represent a list of alarm triggers for a single component */ typedef sequence<CalAlarmInstance> CalAlarmInstanceSeq; + /* Alarms for a component */ + struct CalComponentAlarms { + CalObj calobj; + CalAlarmInstanceSeq alarms; + }; + + /* Used to represent a list of components plus their triggers */ + typedef sequence<CalComponentAlarms> CalComponentAlarmsSeq; + interface Listener; /* Calendar client interface */ @@ -94,48 +108,46 @@ module Calendar { /* A calendar is identified by its URI */ readonly attribute string uri; - /* Gets the number of objects of the specified types */ + /* Gets the number of components of the specified types */ long countObjects (in CalObjType type); - /* Gets an object based on its URI */ + /* Gets a component based on its URI */ CalObj getObject (in CalObjUID uid) raises (NotFound); - /* Gets a list of UIDs based on object type */ + /* Gets a list of UIDs based on component type */ CalObjUIDSeq getUIds (in CalObjType type); - /* Gets a list of objects that changed based on object type */ + /* Gets a list of components that changed based on object type */ CalObjChangeSeq getChanges (in CalObjType type, in string change_id); - /* Gets a list of objects that occur or recur in the specified time range */ + /* Gets a list of components that occur or recur in the specified time range */ CalObjUIDSeq getObjectsInRange (in CalObjType type, in Time_t start, in Time_t end) raises (InvalidRange); - /* - * Gets the objects whose alarms trigger in the specified time - * range. + /* Gets a list of the components that have alarms that trigger + * in the specified range of time, and the trigger/occurrence + * structures themselves. */ - CalAlarmInstanceSeq getAlarmsInRange (in Time_t start, in Time_t end) + CalComponentAlarmsSeq getAlarmsInRange (in Time_t start, in Time_t end) raises (InvalidRange); - /* - * Gets the alarms for the specified object that trigger in the - * specified time range. + /* Gets the alarms for the specified component that trigger in + * the specified time range. */ - CalAlarmInstanceSeq getAlarmsForObject (in CalObjUID uid, - in Time_t start, in Time_t end) + CalComponentAlarms getAlarmsForObject (in CalObjUID uid, + in Time_t start, in Time_t end) raises (NotFound, InvalidRange); - /* - * Updates an object by adding it if it does not exist or by - * changing an existing one. + /* Updates a component by adding it if it does not exist or by + * changing an existing one. */ void updateObject (in CalObjUID uid, in CalObj calobj) raises (InvalidObject); - /* Removes an object */ + /* Removes a component */ void removeObject (in CalObjUID uid) raises (NotFound); }; @@ -157,10 +169,10 @@ module Calendar { */ void notifyCalLoaded (in LoadStatus status, in Cal cal); - /* Called from a Calendar when an object is added or changed */ + /* Called from a Calendar when a component is added or changed */ void notifyObjUpdated (in CalObjUID uid); - /* Called from a Calendar when an object is removed */ + /* Called from a Calendar when a component is removed */ void notifyObjRemoved (in CalObjUID uid); }; |