aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
author2 <NotZed@Ximian.com>2001-09-13 05:50:00 +0800
committerMichael Zucci <zucchi@src.gnome.org>2001-09-13 05:50:00 +0800
commit8be7f276a292ba85e6bec20fd7d5a351f094296e (patch)
treecfab2464275602f896b5c460ef8d9741bde6c7b8 /mail
parent0ab127f884d7a98b89b3532569ead12bb723cf2b (diff)
downloadgsoc2013-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/ChangeLog5
-rw-r--r--mail/mail-vfolder.c24
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