aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/idl/evolution-calendar.idl
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/idl/evolution-calendar.idl')
-rw-r--r--calendar/idl/evolution-calendar.idl63
1 files changed, 63 insertions, 0 deletions
diff --git a/calendar/idl/evolution-calendar.idl b/calendar/idl/evolution-calendar.idl
new file mode 100644
index 0000000000..6357a014d0
--- /dev/null
+++ b/calendar/idl/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