aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/idl
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@helixcode.com>2000-02-12 10:03:58 +0800
committerArturo Espinosa <unammx@src.gnome.org>2000-02-12 10:03:58 +0800
commitd2fe58c56857e9e4b2e37f87174da6956b0d985c (patch)
treee71df413e8a7862616755f64700b1dbbc513f9be /calendar/idl
parent123f506198c535dcb073c1998fed37c25ad131f9 (diff)
downloadgsoc2013-evolution-d2fe58c56857e9e4b2e37f87174da6956b0d985c.tar
gsoc2013-evolution-d2fe58c56857e9e4b2e37f87174da6956b0d985c.tar.gz
gsoc2013-evolution-d2fe58c56857e9e4b2e37f87174da6956b0d985c.tar.bz2
gsoc2013-evolution-d2fe58c56857e9e4b2e37f87174da6956b0d985c.tar.lz
gsoc2013-evolution-d2fe58c56857e9e4b2e37f87174da6956b0d985c.tar.xz
gsoc2013-evolution-d2fe58c56857e9e4b2e37f87174da6956b0d985c.tar.zst
gsoc2013-evolution-d2fe58c56857e9e4b2e37f87174da6956b0d985c.zip
Implemented.
2000-02-11 Federico Mena Quintero <federico@helixcode.com> * cal-client.c (cal_client_update_object): Implemented. * cal.c (cal_notify_update): New function to notify the listener about an updated object. (Cal_update_object): Implemented. (Cal_get_uids): set_release() the sequence to TRUE. (Cal_get_events_in_range): Likewise. * cal-backend.c (remove_object): New function to remove objects from a calendar backend. (cal_backend_update_object): New public function to update an object and notify clients about it. * evolution-calendar.idl (Cal): Added update_object() and delete_object() methods. (Listener): Removed the obj_changed method and renamed obj_added to obj_updated. We now only have updated and removed notifiers. * cal-listener.[ch]: Removed the "changed" notification code. Changed the "added" notification code to the "updated" notification. * cal-client.c: Likewise. * tlacuache.c (create_cal_factory): Connect to "destroy" on the factory and exit the main loop when the factory is destroyed. * cal-factory.c (backend_destroy_cb): New callback used when a backend is destroyed. Removes the backend from the factory's hash table and unrefs the factory if all backends go away. (add_calendar_client): Free the environment. * cal.c (cal_new): Use bonobo_object_unref() if we fail to initialize. * cal-listener.c (cal_listener_new): Likewise. * layout.c (layout_events): Plug li.partition memory leak. svn path=/trunk/; revision=1742
Diffstat (limited to 'calendar/idl')
-rw-r--r--calendar/idl/evolution-calendar.idl24
1 files changed, 16 insertions, 8 deletions
diff --git a/calendar/idl/evolution-calendar.idl b/calendar/idl/evolution-calendar.idl
index d4b87e9825..bc4266c3ae 100644
--- a/calendar/idl/evolution-calendar.idl
+++ b/calendar/idl/evolution-calendar.idl
@@ -41,7 +41,7 @@ module Calendar {
* "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;
@@ -58,6 +58,7 @@ module Calendar {
interface Cal : Bonobo::Unknown {
exception NotFound {};
exception InvalidRange {};
+ exception InvalidObject {};
/* A calendar is identified by its URI */
readonly attribute string uri;
@@ -72,6 +73,16 @@ module Calendar {
/* Gets the events that occur or recur in the specified time range */
CalObjInstanceSeq get_events_in_range (in Time_t start, in Time_t end)
raises (InvalidRange);
+
+ /* Updates an object by adding it if it does not exist or by
+ * changing an existing one.
+ */
+ void update_object (in CalObjUID uid, in CalObj calobj)
+ raises (InvalidObject);
+
+ /* Removes an object */
+ void remove_object (in CalObjUID uid)
+ raises (NotFound);
};
/* Listener for changes in a calendar */
@@ -81,23 +92,20 @@ module Calendar {
SUCCESS, /* All OK */
ERROR, /* Generic error */
IN_USE /* Requested create while a calendar
- * with the same URI was in use.
+ * with the same URI was in use.
*/
};
/* Called from a CalFactory when a calendar is initially loaded
- * or created. The listener must remember the cal object.
+ * or created. The listener must remember the cal object.
*/
void cal_loaded (in LoadStatus status, in Cal cal);
- /* Called from a Calendar when an object is added */
- void obj_added (in CalObjUID uid);
+ /* Called from a Calendar when an object is added or changed */
+ void obj_updated (in CalObjUID uid);
/* 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 CalObjUID uid);
};
/* A calendar factory, can load and create calendars */