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.idl48
1 files changed, 48 insertions, 0 deletions
diff --git a/shell/Evolution-Offline.idl b/shell/Evolution-Offline.idl
new file mode 100644
index 0000000000..54bee91023
--- /dev/null
+++ b/shell/Evolution-Offline.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Interface to allow components to switch between on-line and off-line mode.
+ *
+ * Authors:
+ * Ettore Perazzoli <ettore@ximian.com>
+ *
+ * Copyright (C) 2001 Ximian, Inc.
+ */
+
+#include <Bonobo.h>
+
+module GNOME {
+module Evolution {
+
+struct Connection {
+ string hostName;
+ short portNumber;
+};
+typedef sequence<Connection> ConnectionList;
+
+interface OfflineProgressListener : Bonobo::Unknown {
+ /* Update the shell about the progress of going off-line. The
+ operation is considered completed when the ConnectionList is empty. */
+ void updateProgress (in ConnectionList current_active_connections);
+};
+
+interface Offline : Bonobo::Unknown {
+ /* Whether the component is currently off-line. */
+ attribute boolean isOffline;
+
+ /* 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). */
+ void prepareForOffline (out ConnectionList active_connection_list);
+
+ /* Ask the component to go into off-line mode. This always comes after
+ a `::prepareForOffline' only. */
+ void goOffline (in OfflineProgressListener listener);
+
+ /* Tell the component to go into on-line mode. */
+ void goOnline ();
+};
+
+};
+};