/* -*- 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. */ #ifndef _GNOME_EVOLUTION_OFFLINE_IDL #define _GNOME_EVOLUTION_OFFLINE_IDL #include module GNOME { module Evolution { struct Connection { string hostName; string type; }; typedef sequence ConnectionList; interface OfflineProgressListener { /* 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 { exception notPrepared {}; exception notSyncing {}; /* 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. */ void goOffline (in OfflineProgressListener listener) raises (notPrepared); /* Tell the component to go into on-line mode. */ void goOnline (); }; }; }; #endif