aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-corba-storage.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2002-10-18 04:47:06 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2002-10-18 04:47:06 +0800
commitd91364b0562ad2d80186c8bc5e94a7792989a53d (patch)
treede24f00a6102a69bce5047e26726942ab87e895f /shell/e-corba-storage.c
parentd4e1fb42e0e1017919ca21b5b59cc84b38f794f7 (diff)
downloadgsoc2013-evolution-d91364b0562ad2d80186c8bc5e94a7792989a53d.tar
gsoc2013-evolution-d91364b0562ad2d80186c8bc5e94a7792989a53d.tar.gz
gsoc2013-evolution-d91364b0562ad2d80186c8bc5e94a7792989a53d.tar.bz2
gsoc2013-evolution-d91364b0562ad2d80186c8bc5e94a7792989a53d.tar.lz
gsoc2013-evolution-d91364b0562ad2d80186c8bc5e94a7792989a53d.tar.xz
gsoc2013-evolution-d91364b0562ad2d80186c8bc5e94a7792989a53d.tar.zst
gsoc2013-evolution-d91364b0562ad2d80186c8bc5e94a7792989a53d.zip
New, implementation for the cancel_discover_shared_folder virtual method.
* e-corba-storage.c (cancel_discover_shared_folder): New, implementation for the cancel_discover_shared_folder virtual method. (class_init): Install. * evolution-test-component.c (storage_discover_shared_folder_callback): Instead of passing the listener to the timeout function, just pass the storage. Put the listener and the timeout ID on the storage object by using gtk_object_set_data(). (shared_folder_discovery_timeout_callback): Updated accordingly. (storage_cancel_discover_shared_folder_callback): New, callback for the cancel_discover_shared_folder signal. (setup_custom_storage): Connect. * e-shell-shared-folder-picker-dialog.c: New member storage in struct DiscoveryData. While I am at it, rename member user to user_email_address. (discover_folder): Set the storage member. (cleanup_discovery): Unref storage member. (progress_dialog_clicked_callback): New, callback for the "clicked" signal on the dialog. (discover_folder): Connect. * evolution-storage.c (class_init): Install signal "cancel_discover_shared_folder". (impl_Storage_cancelDiscoverSharedFolder): New, implementation for the cancelDiscoverSharedFolder CORBA method; emit "cancel_discover_shared_folder". (evolution_storage_get_epv): Install CORBA method implementation. * evolution-storage.h: Add signal cancel_discover_shared_folder. * e-storage.c (e_storage_cancel_discover_shared_folder): New. * e-storage.h: New virtual method cancel_discover_shared_folder. * Evolution-Storage.idl (cancelDiscoverSharedFolder): New. svn path=/trunk/; revision=18386
Diffstat (limited to 'shell/e-corba-storage.c')
-rw-r--r--shell/e-corba-storage.c35
1 files changed, 28 insertions, 7 deletions
diff --git a/shell/e-corba-storage.c b/shell/e-corba-storage.c
index b640ff22b9..4f5ca6dc1b 100644
--- a/shell/e-corba-storage.c
+++ b/shell/e-corba-storage.c
@@ -559,6 +559,26 @@ async_discover_shared_folder (EStorage *storage,
}
static void
+cancel_discover_shared_folder (EStorage *storage,
+ const char *owner,
+ const char *folder_name)
+{
+ ECorbaStorage *corba_storage;
+ ECorbaStoragePrivate *priv;
+ CORBA_Environment ev;
+
+ corba_storage = E_CORBA_STORAGE (storage);
+ priv = corba_storage->priv;
+
+ CORBA_exception_init (&ev);
+ GNOME_Evolution_Storage_cancelDiscoverSharedFolder (priv->storage_interface,
+ owner, folder_name, &ev);
+ if (BONOBO_EX (&ev))
+ g_warning ("Error invoking cancelDiscoverSharedFolder -- %s", BONOBO_EX_ID (&ev));
+ CORBA_exception_free (&ev);
+}
+
+static void
async_remove_shared_folder (EStorage *storage,
const char *path,
EStorageResultCallback callback,
@@ -627,13 +647,14 @@ class_init (ECorbaStorageClass *klass)
object_class->destroy = destroy;
storage_class = E_STORAGE_CLASS (klass);
- storage_class->async_create_folder = async_create_folder;
- storage_class->async_remove_folder = async_remove_folder;
- storage_class->async_xfer_folder = async_xfer_folder;
- storage_class->async_open_folder = async_open_folder;
- storage_class->supports_shared_folders = supports_shared_folders;
- storage_class->async_discover_shared_folder = async_discover_shared_folder;
- storage_class->async_remove_shared_folder = async_remove_shared_folder;
+ storage_class->async_create_folder = async_create_folder;
+ storage_class->async_remove_folder = async_remove_folder;
+ storage_class->async_xfer_folder = async_xfer_folder;
+ storage_class->async_open_folder = async_open_folder;
+ storage_class->supports_shared_folders = supports_shared_folders;
+ storage_class->async_discover_shared_folder = async_discover_shared_folder;
+ storage_class->cancel_discover_shared_folder = cancel_discover_shared_folder;
+ storage_class->async_remove_shared_folder = async_remove_shared_folder;
corba_class_init ();