From edcdb2068858eebca3c23978c91b827a077c02a1 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Wed, 12 Jan 2000 01:36:56 +0000 Subject: New IDL for the personal calendar server. 2000-01-11 Federico Mena Quintero * gnome-calendar.idl: New IDL for the personal calendar server. * cal.h cal.c: New files with the calendar object. * cal-listener.h cal-listener.c: New files with the calendar listener object. * cal-factory.h cal-factory.c: New files with the calendar factory object. svn path=/trunk/; revision=1555 --- calendar/idl/evolution-calendar.idl | 63 +++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 calendar/idl/evolution-calendar.idl (limited to 'calendar/idl') 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 + * Federico Mena-Quintero + */ + +#ifndef _GNOME_CALENDAR_IDL_ +#define _GNOME_CALENDAR_IDL_ + +#include + +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 -- cgit v1.2.3