From 483ebae5399d6aa7d63e471ea6000021a4be94fb Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Thu, 3 May 2001 01:10:46 +0000 Subject: Add interfaces to the shell to handle off-line operation, as well as a first (unfinished/untested) implementation for them. svn path=/trunk/; revision=9653 --- shell/Evolution-Offline.idl | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 shell/Evolution-Offline.idl (limited to 'shell/Evolution-Offline.idl') 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 + * + * Copyright (C) 2001 Ximian, Inc. + */ + +#include + +module GNOME { +module Evolution { + +struct Connection { + string hostName; + short portNumber; +}; +typedef sequence 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 (); +}; + +}; +}; -- cgit