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.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/calendar/pcs/cal.c b/calendar/pcs/cal.c
index 60fcdc59ad..861cc47c89 100644
--- a/calendar/pcs/cal.c
+++ b/calendar/pcs/cal.c
@@ -874,6 +874,36 @@ cal_notify_remove (Cal *cal, const char *uid)
}
/**
+ * 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.