aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/pcs/cal.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/pcs/cal.c')
-rw-r--r--calendar/pcs/cal.c1244
1 files changed, 0 insertions, 1244 deletions
diff --git a/calendar/pcs/cal.c b/calendar/pcs/cal.c
deleted file mode 100644
index aec1591da3..0000000000
--- a/calendar/pcs/cal.c
+++ /dev/null
@@ -1,1244 +0,0 @@
-/* Evolution calendar client interface object
- *
- * Copyright (C) 2000 Ximian, Inc.
- * Copyright (C) 2000 Ximian, Inc.
- *
- * Authors: Federico Mena-Quintero <federico@ximian.com>
- * Rodrigo Moya <rodrigo@ximian.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <libical/ical.h>
-#include <bonobo/bonobo-main.h>
-#include <bonobo/bonobo-exception.h>
-#include "cal-backend.h"
-#include "cal.h"
-
-#define PARENT_TYPE BONOBO_TYPE_OBJECT
-
-static BonoboObjectClass *parent_class;
-
-/* Private part of the Cal structure */
-struct _CalPrivate {
- /* Our backend */
- CalBackend *backend;
-
- /* Listener on the client we notify */
- GNOME_Evolution_Calendar_Listener listener;
-};
-
-/* Cal::get_uri method */
-static CORBA_char *
-impl_Cal_get_uri (PortableServer_Servant servant,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
- const char *str_uri;
- CORBA_char *str_uri_copy;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- str_uri = cal_backend_get_uri (priv->backend);
- str_uri_copy = CORBA_string_dup (str_uri);
-
- return str_uri_copy;
-}
-
-static void
-impl_Cal_open (PortableServer_Servant servant,
- CORBA_boolean only_if_exists,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_open (priv->backend, cal, only_if_exists);
-}
-
-static void
-impl_Cal_remove (PortableServer_Servant servant,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_remove (priv->backend, cal);
-}
-
-/* Cal::isReadOnly method */
-static void
-impl_Cal_isReadOnly (PortableServer_Servant servant,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_is_read_only (priv->backend, cal);
-}
-
-/* Cal::getEmailAddress method */
-static void
-impl_Cal_getCalAddress (PortableServer_Servant servant,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_get_cal_address (priv->backend, cal);
-}
-
-/* Cal::get_alarm_email_address method */
-static void
-impl_Cal_getAlarmEmailAddress (PortableServer_Servant servant,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_get_alarm_email_address (priv->backend, cal);
-}
-
-/* Cal::get_ldap_attribute method */
-static void
-impl_Cal_getLdapAttribute (PortableServer_Servant servant,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_get_ldap_attribute (priv->backend, cal);
-}
-
-/* Cal::getSchedulingInformation method */
-static void
-impl_Cal_getStaticCapabilities (PortableServer_Servant servant,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_get_static_capabilities (priv->backend, cal);
-}
-
-/* Cal::setMode method */
-static void
-impl_Cal_setMode (PortableServer_Servant servant,
- GNOME_Evolution_Calendar_CalMode mode,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_set_mode (priv->backend, mode);
-}
-
-static void
-impl_Cal_getDefaultObject (PortableServer_Servant servant,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_get_default_object (priv->backend, cal);
-}
-
-/* Cal::getObject method */
-static void
-impl_Cal_getObject (PortableServer_Servant servant,
- const CORBA_char *uid,
- const CORBA_char *rid,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_get_object (priv->backend, cal, uid, rid);
-}
-
-/* Cal::getObjectsInRange method */
-static void
-impl_Cal_getObjectList (PortableServer_Servant servant,
- const CORBA_char *query,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_get_object_list (priv->backend, cal, query);
-}
-
-/* Cal::getChanges method */
-static void
-impl_Cal_getChanges (PortableServer_Servant servant,
- const CORBA_char *change_id,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_get_changes (priv->backend, cal, change_id);
-}
-
-/* Cal::getFreeBusy method */
-static void
-impl_Cal_getFreeBusy (PortableServer_Servant servant,
- const GNOME_Evolution_Calendar_UserList *user_list,
- const GNOME_Evolution_Calendar_Time_t start,
- const GNOME_Evolution_Calendar_Time_t end,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
- GList *users = NULL;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- /* convert the CORBA user list to a GList */
- if (user_list) {
- int i;
-
- for (i = 0; i < user_list->_length; i++)
- users = g_list_append (users, user_list->_buffer[i]);
- }
-
- /* call the backend's get_free_busy method */
- cal_backend_get_free_busy (priv->backend, cal, users, start, end);
-}
-
-/* Cal::discardAlarm method */
-static void
-impl_Cal_discardAlarm (PortableServer_Servant servant,
- const CORBA_char *uid,
- const CORBA_char *auid,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_discard_alarm (priv->backend, cal, uid, auid);
-}
-
-static void
-impl_Cal_createObject (PortableServer_Servant servant,
- const CORBA_char *calobj,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_create_object (priv->backend, cal, calobj);
-}
-
-static void
-impl_Cal_modifyObject (PortableServer_Servant servant,
- const CORBA_char *calobj,
- const GNOME_Evolution_Calendar_CalObjModType mod,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_modify_object (priv->backend, cal, calobj, mod);
-}
-
-/* Cal::removeObject method */
-static void
-impl_Cal_removeObject (PortableServer_Servant servant,
- const CORBA_char *uid,
- const CORBA_char *rid,
- const GNOME_Evolution_Calendar_CalObjModType mod,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_remove_object (priv->backend, cal, uid, rid, mod);
-}
-
-static void
-impl_Cal_receiveObjects (PortableServer_Servant servant, const CORBA_char *calobj, CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_receive_objects (priv->backend, cal, calobj);
-}
-
-static void
-impl_Cal_sendObjects (PortableServer_Servant servant, const CORBA_char *calobj, CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_send_objects (priv->backend, cal, calobj);
-}
-
-/* Cal::getQuery implementation */
-static void
-impl_Cal_getQuery (PortableServer_Servant servant,
- const CORBA_char *sexp,
- GNOME_Evolution_Calendar_QueryListener ql,
- CORBA_Environment *ev)
-{
-
- Cal *cal;
- CalPrivate *priv;
- Query *query;
- CalBackendObjectSExp *obj_sexp;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- /* we handle this entirely here, since it doesn't require any
- backend involvement now that we have pas_book_view_start to
- actually kick off the search. */
-
- obj_sexp = cal_backend_object_sexp_new (sexp);
- if (!obj_sexp) {
- cal_notify_query (cal, GNOME_Evolution_Calendar_InvalidQuery, NULL);
-
- return;
- }
-
- query = query_new (priv->backend, ql, obj_sexp);
- if (!query) {
- g_object_unref (obj_sexp);
- cal_notify_query (cal, GNOME_Evolution_Calendar_OtherError, NULL);
-
- return;
- }
-
- cal_backend_add_query (priv->backend, query);
-
- cal_notify_query (cal, GNOME_Evolution_Calendar_Success, query);
-
- g_object_unref (query);
-}
-
-
-/* Cal::getTimezone method */
-static void
-impl_Cal_getTimezone (PortableServer_Servant servant,
- const CORBA_char *tzid,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_get_timezone (priv->backend, cal, tzid);
-}
-
-/* Cal::addTimezone method */
-static void
-impl_Cal_addTimezone (PortableServer_Servant servant,
- const CORBA_char *tz,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_add_timezone (priv->backend, cal, tz);
-}
-
-/* Cal::setDefaultTimezone method */
-static void
-impl_Cal_setDefaultTimezone (PortableServer_Servant servant,
- const CORBA_char *tzid,
- CORBA_Environment *ev)
-{
- Cal *cal;
- CalPrivate *priv;
-
- cal = CAL (bonobo_object_from_servant (servant));
- priv = cal->priv;
-
- cal_backend_set_default_timezone (priv->backend, cal, tzid);
-}
-
-/**
- * cal_construct:
- * @cal: A calendar client interface.
- * @corba_cal: CORBA object for the calendar.
- * @backend: Calendar backend that this @cal presents an interface to.
- * @listener: Calendar listener for notification.
- *
- * Constructs a calendar client interface object by binding the corresponding
- * CORBA object to it. The calendar interface is bound to the specified
- * @backend, and will notify the @listener about changes to the calendar.
- *
- * Return value: The same object as the @cal argument.
- **/
-Cal *
-cal_construct (Cal *cal,
- CalBackend *backend,
- GNOME_Evolution_Calendar_Listener listener)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_val_if_fail (cal != NULL, NULL);
- g_return_val_if_fail (IS_CAL (cal), NULL);
- g_return_val_if_fail (backend != NULL, NULL);
- g_return_val_if_fail (IS_CAL_BACKEND (backend), NULL);
-
- priv = cal->priv;
-
- CORBA_exception_init (&ev);
- priv->listener = CORBA_Object_duplicate (listener, &ev);
- if (BONOBO_EX (&ev)) {
- g_message ("cal_construct: could not duplicate the listener");
- priv->listener = CORBA_OBJECT_NIL;
- CORBA_exception_free (&ev);
- return NULL;
- }
-
- CORBA_exception_free (&ev);
-
- priv->backend = backend;
-
- return cal;
-}
-
-/**
- * cal_new:
- * @backend: A calendar backend.
- * @listener: A calendar listener.
- *
- * Creates a new calendar client interface object and binds it to the specified
- * @backend and @listener objects.
- *
- * Return value: A newly-created #Cal calendar client interface object, or NULL
- * if its corresponding CORBA object could not be created.
- **/
-Cal *
-cal_new (CalBackend *backend, const char *uri, GNOME_Evolution_Calendar_Listener listener)
-{
- Cal *cal, *retval;
-
- g_return_val_if_fail (backend != NULL, NULL);
- g_return_val_if_fail (IS_CAL_BACKEND (backend), NULL);
-
- cal = CAL (g_object_new (CAL_TYPE,
- "poa", bonobo_poa_get_threaded (ORBIT_THREAD_HINT_PER_REQUEST, NULL),
- NULL));
-
- retval = cal_construct (cal, backend, listener);
- if (!retval) {
- g_message (G_STRLOC ": could not construct the calendar client interface");
- bonobo_object_unref (BONOBO_OBJECT (cal));
- return NULL;
- }
-
- return retval;
-}
-
-CalBackend *
-cal_get_backend (Cal *cal)
-{
- g_return_val_if_fail (cal != NULL, NULL);
- g_return_val_if_fail (IS_CAL (cal), NULL);
-
- return cal->priv->backend;
-}
-
-GNOME_Evolution_Calendar_Listener
-cal_get_listener (Cal *cal)
-{
- g_return_val_if_fail (cal != NULL, NULL);
- g_return_val_if_fail (IS_CAL (cal), NULL);
-
- return cal->priv->listener;
-}
-
-/* Destroy handler for the calendar */
-static void
-cal_finalize (GObject *object)
-{
- Cal *cal;
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (object != NULL);
- g_return_if_fail (IS_CAL (object));
-
- cal = CAL (object);
- priv = cal->priv;
-
- priv->backend = NULL;
-
- CORBA_exception_init (&ev);
- bonobo_object_release_unref (priv->listener, &ev);
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not release the listener");
-
- priv->listener = NULL;
- CORBA_exception_free (&ev);
-
- g_free (priv);
-
- if (G_OBJECT_CLASS (parent_class)->finalize)
- (* G_OBJECT_CLASS (parent_class)->finalize) (object);
-}
-
-
-
-/* Class initialization function for the calendar */
-static void
-cal_class_init (CalClass *klass)
-{
- GObjectClass *object_class = (GObjectClass *) klass;
- POA_GNOME_Evolution_Calendar_Cal__epv *epv = &klass->epv;
-
- parent_class = g_type_class_peek_parent (klass);
-
- /* Class method overrides */
- object_class->finalize = cal_finalize;
-
- /* Epv methods */
- epv->_get_uri = impl_Cal_get_uri;
- epv->open = impl_Cal_open;
- epv->remove = impl_Cal_remove;
- epv->isReadOnly = impl_Cal_isReadOnly;
- epv->getCalAddress = impl_Cal_getCalAddress;
- epv->getAlarmEmailAddress = impl_Cal_getAlarmEmailAddress;
- epv->getLdapAttribute = impl_Cal_getLdapAttribute;
- epv->getStaticCapabilities = impl_Cal_getStaticCapabilities;
- epv->setMode = impl_Cal_setMode;
- epv->getDefaultObject = impl_Cal_getDefaultObject;
- epv->getObject = impl_Cal_getObject;
- epv->getTimezone = impl_Cal_getTimezone;
- epv->addTimezone = impl_Cal_addTimezone;
- epv->setDefaultTimezone = impl_Cal_setDefaultTimezone;
- epv->getObjectList = impl_Cal_getObjectList;
- epv->getChanges = impl_Cal_getChanges;
- epv->getFreeBusy = impl_Cal_getFreeBusy;
- epv->discardAlarm = impl_Cal_discardAlarm;
- epv->createObject = impl_Cal_createObject;
- epv->modifyObject = impl_Cal_modifyObject;
- epv->removeObject = impl_Cal_removeObject;
- epv->receiveObjects = impl_Cal_receiveObjects;
- epv->sendObjects = impl_Cal_sendObjects;
- epv->getQuery = impl_Cal_getQuery;
-}
-
-
-/* Object initialization function for the calendar */
-static void
-cal_init (Cal *cal, CalClass *klass)
-{
- CalPrivate *priv;
-
- priv = g_new0 (CalPrivate, 1);
- cal->priv = priv;
-
- priv->listener = CORBA_OBJECT_NIL;
-}
-
-BONOBO_TYPE_FUNC_FULL (Cal, GNOME_Evolution_Calendar_Cal, PARENT_TYPE, cal);
-
-void
-cal_notify_read_only (Cal *cal, GNOME_Evolution_Calendar_CallStatus status, gboolean read_only)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyReadOnly (priv->listener, status, read_only, &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of read only");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_cal_address (Cal *cal, GNOME_Evolution_Calendar_CallStatus status, const char *address)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyCalAddress (priv->listener, status, address ? address : "", &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of cal address");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_alarm_email_address (Cal *cal, GNOME_Evolution_Calendar_CallStatus status, const char *address)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyAlarmEmailAddress (priv->listener, status, address ? address : "", &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of alarm address");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_ldap_attribute (Cal *cal, GNOME_Evolution_Calendar_CallStatus status, const char *attribute)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyLDAPAttribute (priv->listener, status, attribute ? attribute : "", &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of ldap attribute");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_static_capabilities (Cal *cal, GNOME_Evolution_Calendar_CallStatus status, const char *capabilities)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyStaticCapabilities (priv->listener, status,
- capabilities ? capabilities : "", &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of static capabilities");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_open (Cal *cal, GNOME_Evolution_Calendar_CallStatus status)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyCalOpened (priv->listener, status, &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of open");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_remove (Cal *cal, GNOME_Evolution_Calendar_CallStatus status)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyCalRemoved (priv->listener, status, &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of remove");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_object_created (Cal *cal, GNOME_Evolution_Calendar_CallStatus status,
- const char *uid, const char *object)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- if (status == GNOME_Evolution_Calendar_Success)
- cal_backend_notify_object_created (priv->backend, object);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyObjectCreated (priv->listener, status, uid ? uid : "", &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of object creation");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_object_modified (Cal *cal, GNOME_Evolution_Calendar_CallStatus status,
- const char *old_object, const char *object)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- if (status == GNOME_Evolution_Calendar_Success)
- cal_backend_notify_object_modified (priv->backend, old_object, object);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyObjectModified (priv->listener, status, &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of object creation");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_object_removed (Cal *cal, GNOME_Evolution_Calendar_CallStatus status,
- const char *uid, const char *object)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- if (status == GNOME_Evolution_Calendar_Success)
- cal_backend_notify_object_removed (priv->backend, uid, object);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyObjectRemoved (priv->listener, status, &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of object removal");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_objects_received (Cal *cal, GNOME_Evolution_Calendar_CallStatus status)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyObjectsReceived (priv->listener, status, &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of objects received");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_alarm_discarded (Cal *cal, GNOME_Evolution_Calendar_CallStatus status)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyAlarmDiscarded (priv->listener, status, &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of alarm discarded");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_objects_sent (Cal *cal, GNOME_Evolution_Calendar_CallStatus status)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyObjectsSent (priv->listener, status, &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of objects sent");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_default_object (Cal *cal, GNOME_Evolution_Calendar_CallStatus status, char *object)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
-
- GNOME_Evolution_Calendar_Listener_notifyDefaultObjectRequested (priv->listener, status,
- object ? object : "", &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of default object");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_object (Cal *cal, GNOME_Evolution_Calendar_CallStatus status, char *object)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
-
- GNOME_Evolution_Calendar_Listener_notifyObjectRequested (priv->listener, status,
- object ? object : "", &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of object");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_object_list (Cal *cal, GNOME_Evolution_Calendar_CallStatus status, GList *objects)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
- GNOME_Evolution_Calendar_stringlist seq;
- GList *l;
- int i;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
-
- seq._maximum = g_list_length (objects);
- seq._length = 0;
- seq._buffer = GNOME_Evolution_Calendar_stringlist_allocbuf (seq._maximum);
-
- for (l = objects, i = 0; l; l = l->next, i++) {
- seq._buffer[i] = CORBA_string_dup (l->data);
- seq._length++;
- }
-
- GNOME_Evolution_Calendar_Listener_notifyObjectListRequested (priv->listener, status, &seq, &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of object list");
-
- CORBA_exception_free (&ev);
-
- CORBA_free(seq._buffer);
-}
-
-void
-cal_notify_query (Cal *cal, GNOME_Evolution_Calendar_CallStatus status, Query *query)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyQuery (priv->listener, status, BONOBO_OBJREF (query), &ev);
-
- if (BONOBO_EX (&ev))
- g_message (G_STRLOC ": could not notify the listener of query");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_timezone_requested (Cal *cal, GNOME_Evolution_Calendar_CallStatus status, const char *object)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyTimezoneRequested (priv->listener, status, object ? object : "", &ev);
-
- if (BONOBO_EX (&ev))
- g_warning (G_STRLOC ": could not notify the listener of timezone requested");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_timezone_added (Cal *cal, GNOME_Evolution_Calendar_CallStatus status, const char *tzid)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyTimezoneAdded (priv->listener, status, tzid ? tzid : "", &ev);
-
- if (BONOBO_EX (&ev))
- g_warning (G_STRLOC ": could not notify the listener of timezone added");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_default_timezone_set (Cal *cal, GNOME_Evolution_Calendar_CallStatus status)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyDefaultTimezoneSet (priv->listener, status, &ev);
-
- if (BONOBO_EX (&ev))
- g_warning (G_STRLOC ": could not notify the listener of default timezone set");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_changes (Cal *cal, GNOME_Evolution_Calendar_CallStatus status,
- GList *adds, GList *modifies, GList *deletes)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
- GNOME_Evolution_Calendar_CalObjChangeSeq seq;
- GList *l;
- int n, i;
-
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- n = g_list_length (adds) + g_list_length (modifies) + g_list_length (deletes);
- seq._maximum = n;
- seq._length = n;
- seq._buffer = CORBA_sequence_GNOME_Evolution_Calendar_CalObjChange_allocbuf (n);
-
- i = 0;
- for (l = adds; l; i++, l = l->next) {
- GNOME_Evolution_Calendar_CalObjChange *change = &seq._buffer[i];
-
- change->calobj = CORBA_string_dup (l->data);
- change->type = GNOME_Evolution_Calendar_ADDED;
- }
-
- for (l = modifies; l; i++, l = l->next) {
- GNOME_Evolution_Calendar_CalObjChange *change = &seq._buffer[i];
-
- change->calobj = CORBA_string_dup (l->data);
- change->type = GNOME_Evolution_Calendar_MODIFIED;
- }
-
- for (l = deletes; l; i++, l = l->next) {
- GNOME_Evolution_Calendar_CalObjChange *change = &seq._buffer[i];
-
- change->calobj = CORBA_string_dup (l->data);
- change->type = GNOME_Evolution_Calendar_DELETED;
- }
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyDefaultTimezoneSet (priv->listener, status, &ev);
-
- CORBA_free (seq._buffer);
-
- if (BONOBO_EX (&ev))
- g_warning (G_STRLOC ": could not notify the listener of default timezone set");
-
- CORBA_exception_free (&ev);
-}
-
-void
-cal_notify_free_busy (Cal *cal, GNOME_Evolution_Calendar_CallStatus status, GList *freebusy)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
- GNOME_Evolution_Calendar_CalObjSeq seq;
- GList *l;
- int n, i;
-
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- n = g_list_length (freebusy);
- seq._maximum = n;
- seq._length = n;
- seq._buffer = CORBA_sequence_GNOME_Evolution_Calendar_CalObj_allocbuf (n);
-
- for (i = 0, l = freebusy; l; i++, l = l->next)
- seq._buffer[i] = CORBA_string_dup (l->data);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyDefaultTimezoneSet (priv->listener, status, &ev);
-
- CORBA_free (seq._buffer);
-
- if (BONOBO_EX (&ev))
- g_warning (G_STRLOC ": could not notify the listener of freebusy");
-
- CORBA_exception_free (&ev);
-}
-
-/**
- * cal_notify_mode:
- * @cal: A calendar client interface.
- * @status: Status of the mode set.
- * @mode: The current mode.
- *
- * Notifys the listener of the results of a setMode call.
- **/
-void
-cal_notify_mode (Cal *cal,
- GNOME_Evolution_Calendar_Listener_SetModeStatus status,
- GNOME_Evolution_Calendar_CalMode mode)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyCalSetMode (priv->listener, status, mode, &ev);
-
- if (BONOBO_EX (&ev))
- g_message ("cal_notify_mode(): could not notify the listener "
- "about a mode change");
-
- CORBA_exception_free (&ev);
-}
-
-/**
- * cal_notify_error
- * @cal: A calendar client interface.
- * @message: Error message.
- *
- * Notify a calendar client of an error occurred in the backend.
- */
-void
-cal_notify_error (Cal *cal, const char *message)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
- g_return_if_fail (message != NULL);
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyErrorOccurred (priv->listener, (char *) message, &ev);
-
- if (BONOBO_EX (&ev))
- g_message ("cal_notify_remove(): could not notify the listener "
- "about a removed object");
-
- CORBA_exception_free (&ev);
-}
-
-/**
- * cal_notify_categories_changed:
- * @cal: A calendar client interface.
- * @categories: List of categories.
- *
- * Notifies a listener attached to a calendar client interface object about the
- * current set of categories in a calendar backend.
- **/
-void
-cal_notify_categories_changed (Cal *cal, GNOME_Evolution_Calendar_StringSeq *categories)
-{
- CalPrivate *priv;
- CORBA_Environment ev;
-
- g_return_if_fail (cal != NULL);
- g_return_if_fail (IS_CAL (cal));
- g_return_if_fail (categories != NULL);
-
- priv = cal->priv;
- g_return_if_fail (priv->listener != CORBA_OBJECT_NIL);
-
- CORBA_exception_init (&ev);
- GNOME_Evolution_Calendar_Listener_notifyCategoriesChanged (priv->listener, categories, &ev);
-
- if (BONOBO_EX (&ev))
- g_message ("cal_notify_categories_changed(): Could not notify the listener "
- "about the current set of categories");
-
- CORBA_exception_free (&ev);
-}