diff options
Diffstat (limited to 'calendar/evolution-calendar.idl')
-rw-r--r-- | calendar/evolution-calendar.idl | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/calendar/evolution-calendar.idl b/calendar/evolution-calendar.idl new file mode 100644 index 0000000000..6357a014d0 --- /dev/null +++ b/calendar/evolution-calendar.idl @@ -0,0 +1,63 @@ +/* GNOME calendar interfaces + * + * Copyright (C) 2000 Eskil Heyn Olsen + * Copyright (C) 2000 Helix Code, Inc. + * + * Authors: Eskil Heyn Olsen <deity@eskil.dk> + * Federico Mena-Quintero <federico@helixcode.com> + */ + +#ifndef _GNOME_CALENDAR_IDL_ +#define _GNOME_CALENDAR_IDL_ + +#include <gnome-unknown.idl> + +module GNOME { + +module Calendar { + /* A calendar object (event/todo/journal/etc), represented as an + * iCalendar string. + */ + typedef string CalObj; + + /* An unique identifier for a calendar object */ + typedef string CalObjUID; + + interface Listener; + + /* A calendar handle */ + interface Cal : Unknown { + /* A calendar is identified by its URI */ + readonly attribute string uri; + }; + + /* Listener for changes in a calendar */ + interface Listener : Unknown { + /* Called from a CalFactory when a calendar is initially loaded + * or created. The listener must remember the cal object. + */ + void cal_loaded (in Cal cal, in CalObj calobj); + + /* Called from a Calendar when an object is added */ + void obj_added (in CalObj calobj); + + /* Called from a Calendar when an object is removed */ + void obj_removed (in CalObjUID uid); + + /* Called from a Calendar when an object is changed */ + void obj_changed (in CalObj calobj); + }; + + /* A calendar factory, can load and create calendars */ + interface CalFactory : Unknown { + /* Load a calendar from an URI */ + void load (in string uri, in Listener listener); + + /* Create a new calendar at the specified URI */ + void create (in string uri, in Listener listener); + }; +}; + +}; + +#endif |