aboutsummaryrefslogtreecommitdiffstats
path: root/shell/Evolution-Offline.idl
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2002-05-15 05:34:59 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2002-05-15 05:34:59 +0800
commit4c65eab5b1429f35b7dcd17c417cc4206989786a (patch)
tree9d53477a3faa4a16e52cb7f0ccf80c7e9bc596ca /shell/Evolution-Offline.idl
parentf8cc61843c45d07d11872e767c1cee0f16d48409 (diff)
downloadgsoc2013-evolution-4c65eab5b1429f35b7dcd17c417cc4206989786a.tar
gsoc2013-evolution-4c65eab5b1429f35b7dcd17c417cc4206989786a.tar.gz
gsoc2013-evolution-4c65eab5b1429f35b7dcd17c417cc4206989786a.tar.bz2
gsoc2013-evolution-4c65eab5b1429f35b7dcd17c417cc4206989786a.tar.lz
gsoc2013-evolution-4c65eab5b1429f35b7dcd17c417cc4206989786a.tar.xz
gsoc2013-evolution-4c65eab5b1429f35b7dcd17c417cc4206989786a.tar.zst
gsoc2013-evolution-4c65eab5b1429f35b7dcd17c417cc4206989786a.zip
Call e_shell_offline_sync_all_folders() if no connection is reported here.
* e-shell-offline-handler.c (e_shell_offline_handler_put_components_offline): Call e_shell_offline_sync_all_folders() if no connection is reported here. (dialog_handle_ok): Sync all the folders here through e_shell_offline_sync_all_folders(). * e-shell-offline-sync.c: New. * e-shell-offline-sync.h: New. * Evolution-Offline.idl (syncFolder): Make oneway. (cancelSyncFolder): Likewise. (SyncFolderProgressListener::reportSuccess): New method. svn path=/trunk/; revision=16792
Diffstat (limited to 'shell/Evolution-Offline.idl')
-rw-r--r--shell/Evolution-Offline.idl28
1 files changed, 18 insertions, 10 deletions
diff --git a/shell/Evolution-Offline.idl b/shell/Evolution-Offline.idl
index 24973df174..97bfd0cc84 100644
--- a/shell/Evolution-Offline.idl
+++ b/shell/Evolution-Offline.idl
@@ -26,8 +26,12 @@ interface OfflineProgressListener {
};
interface SyncFolderProgressListener {
- /* Report that syncing is progressed @percent %. */
- void updateProgress (in float percent);
+ /* Report that syncing has progressed. @progress has to be between 0.0
+ and 1.0. */
+ void updateProgress (in float progress);
+
+ /* Report that the operation has finished. */
+ void reportSuccess ();
/* Report an error. */
void reportFailure (in string message);
@@ -42,25 +46,29 @@ interface Offline : Bonobo::Unknown {
/* Ask the component to prepare to go into off-line mode. The
component must return a list of the current active connections.
- After this call, the shell is expected to either invoke
- `::goOffline()' (actually complete the operation and go off-line) or
- `::goOnline()' (operation cancelled). */
+ After this call, the shell is expected to: (in order)
+
+ 1. Invoke ::syncFolder for each of the component's folders that
+ need to be synchronized to disk for offline usage.
+
+ 2. Either invoke ::goOffline (actually complete the operation
+ and go off-line) or ::goOnline (operation cancelled).
+ */
void prepareForOffline (out ConnectionList active_connection_list);
/* Request the component to sync the specified folder. This has to
happen after ::prepareForOffline. */
- void syncFolder (in Folder folder,
- in SyncFolderProgressListener listener)
+ oneway void syncFolder (in Folder folder,
+ in SyncFolderProgressListener listener)
raises (notPrepared);
/* Request the component to stop syncing the specified folder. This
has to happen after ::syncFolder. */
- void cancelSyncFolder (in string evolution_uri,
- in string physical_uri)
+ oneway void cancelSyncFolder (in Folder folder)
raises (notSyncing);
/* Ask the component to go into off-line mode. This always comes after
- a `::prepareForOffline'. */
+ a ::prepareForOffline. */
void goOffline (in OfflineProgressListener listener)
raises (notPrepared);