diff options
author | 2 <NotZed@Ximian.com> | 2001-09-13 05:50:00 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2001-09-13 05:50:00 +0800 |
commit | 8be7f276a292ba85e6bec20fd7d5a351f094296e (patch) | |
tree | cfab2464275602f896b5c460ef8d9741bde6c7b8 /mail | |
parent | 0ab127f884d7a98b89b3532569ead12bb723cf2b (diff) | |
download | gsoc2013-evolution-8be7f276a292ba85e6bec20fd7d5a351f094296e.tar.gz gsoc2013-evolution-8be7f276a292ba85e6bec20fd7d5a351f094296e.tar.zst gsoc2013-evolution-8be7f276a292ba85e6bec20fd7d5a351f094296e.zip |
Fixed the remove callback prototype, and return the result properly using
2001-09-12 <NotZed@Ximian.com>
* mail-vfolder.c (vfolder_remove_cb): Fixed the remove callback
prototype, and return the result properly using the listener.
svn path=/trunk/; revision=12786
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 5 | ||||
-rw-r--r-- | mail/mail-vfolder.c | 24 |
2 files changed, 26 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 2bc4e60407..0d079f09ca 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,8 @@ +2001-09-12 <NotZed@Ximian.com> + + * mail-vfolder.c (vfolder_remove_cb): Fixed the remove callback + prototype, and return the result properly using the listener. + 2001-09-12 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_write_on_exit): Save transport diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c index 6b141802e3..84523a1b69 100644 --- a/mail/mail-vfolder.c +++ b/mail/mail-vfolder.c @@ -253,14 +253,32 @@ unlist_vfolder (CamelObject *folder, gpointer event_data, gpointer user_data) g_message ("Whoa, unlisting vfolder %p but can't find it", folder); } -static int +static void vfolder_remove_cb (EvolutionStorage *storage, + const Bonobo_Listener listener, const char *path, const char *physical_uri, gpointer user_data) { - vfolder_remove (physical_uri); - return EVOLUTION_STORAGE_OK; + CORBA_any any; + CORBA_Environment ev; + GNOME_Evolution_Storage_Result corba_result = GNOME_Evolution_Storage_OK; + + if (strncmp(physical_uri, "vfolder:", 8) != 0) + corba_result = GNOME_Evolution_Storage_UNSUPPORTED_TYPE; + else if (vfolder_find(physical_uri + 8) == NULL) + corba_result = GNOME_Evolution_Storage_INVALID_URI; + else + vfolder_remove (physical_uri); + + CORBA_exception_init (&ev); + + any._type = TC_GNOME_Evolution_Storage_Result; + any._value = &corba_result; + + Bonobo_Listener_event (listener, "result", &any, &ev); + + CORBA_exception_free (&ev); } void |