diff options
author | Rodrigo Moya <rodrigo@ximian.com> | 2003-04-27 00:44:49 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@src.gnome.org> | 2003-04-27 00:44:49 +0800 |
commit | da12dd29a85fae5e4ebaffcfb9c40fa6068ec55d (patch) | |
tree | 90800ebe3c35b148eb0c1c7a537ebbc13835f7c9 /calendar/pcs/cal.c | |
parent | 49802408e28d3f3938fd9c6c8c7c36a499277983 (diff) | |
download | gsoc2013-evolution-da12dd29a85fae5e4ebaffcfb9c40fa6068ec55d.tar.gz gsoc2013-evolution-da12dd29a85fae5e4ebaffcfb9c40fa6068ec55d.tar.zst gsoc2013-evolution-da12dd29a85fae5e4ebaffcfb9c40fa6068ec55d.zip |
Fixes #41661
2003-04-24 Rodrigo Moya <rodrigo@ximian.com>
Fixes #41661
* idl/evolution-calendar.idl: added discardAlarm method to
GNOME:Evolution:Calendar:Cal interface.
* pcs/cal.c (cal_class_init): set new epv's method.
(impl_Cal_discardAlarm): implementation of new CORBA method.
* pcs/cal-backend.[ch]: added 'discard_alarm' virtual method, and
CAL_BACKEND_RESULT_NOT_IMPLEMENTED to CalBackendResult enum.
(cal_backend_class_init): initialize new class method.
(cal_backend_discard_alarm): new method.
(cal_backend_update_objects, cal_backend_remove_object): return
proper CalBackendResult values.
* pcs/cal-backend-file.c (cal_backend_file_class_init): initialize
new class method.
(cal_backend_file_discard_alarm): implementation of new method.
* pcs/cal-client.[ch] (cal_client_discard_alarm): new function.
* gui/alarm-notify/alarm-queue.c (remove_qeueud_alarm): don't remove
the alarm directly from the component, call cal_client_discard_alarm
and let the backend deal with it.
svn path=/trunk/; revision=20973
Diffstat (limited to 'calendar/pcs/cal.c')
-rw-r--r-- | calendar/pcs/cal.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/calendar/pcs/cal.c b/calendar/pcs/cal.c index bd6ffb4b38..7726540d5a 100644 --- a/calendar/pcs/cal.c +++ b/calendar/pcs/cal.c @@ -513,6 +513,25 @@ impl_Cal_getAlarmsForObject (PortableServer_Servant servant, } } +/* 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; + CalBackendResult result; + + cal = CAL (bonobo_object_from_servant (servant)); + priv = cal->priv; + + result = cal_backend_discard_alarm (priv->backend, uid, auid); + if (result == CAL_BACKEND_RESULT_NOT_FOUND) + bonobo_exception_set (ev, ex_GNOME_Evolution_Calendar_Cal_NotFound); +} + /* Cal::updateObjects method */ static void impl_Cal_updateObjects (PortableServer_Servant servant, @@ -855,6 +874,7 @@ cal_class_init (CalClass *klass) epv->getFreeBusy = impl_Cal_getFreeBusy; epv->getAlarmsInRange = impl_Cal_getAlarmsInRange; epv->getAlarmsForObject = impl_Cal_getAlarmsForObject; + epv->discardAlarm = impl_Cal_discardAlarm; epv->updateObjects = impl_Cal_updateObjects; epv->removeObject = impl_Cal_removeObject; epv->sendObject = impl_Cal_sendObject; |