aboutsummaryrefslogtreecommitdiffstats
path: root/shell/Evolution-Offline.idl
diff options
context:
space:
mode:
Diffstat (limited to 'shell/Evolution-Offline.idl')
-rw-r--r--shell/Evolution-Offline.idl28
1 files changed, 26 insertions, 2 deletions
diff --git a/shell/Evolution-Offline.idl b/shell/Evolution-Offline.idl
index 377132daa3..282b9fdf17 100644
--- a/shell/Evolution-Offline.idl
+++ b/shell/Evolution-Offline.idl
@@ -25,7 +25,18 @@ interface OfflineProgressListener {
void updateProgress (in ConnectionList current_active_connections);
};
+interface SyncFolderProgressListener {
+ /* Report that syncing is progressed @percent %. */
+ void updateProgress (in float percent);
+
+ /* Report an error. */
+ void reportFailure (in string message);
+};
+
interface Offline : Bonobo::Unknown {
+ exception NotPrepared {};
+ exception NotSyncing {};
+
/* Whether the component is currently off-line. */
attribute boolean isOffline;
@@ -36,9 +47,22 @@ interface Offline : Bonobo::Unknown {
`::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)
+ 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)
+ raises (notSyncing);
+
/* Ask the component to go into off-line mode. This always comes after
- a `::prepareForOffline' only. */
- void goOffline (in OfflineProgressListener listener);
+ a `::prepareForOffline'. */
+ void goOffline (in OfflineProgressListener listener)
+ raises (notPrepared);
/* Tell the component to go into on-line mode. */
void goOnline ();