1 //The contents of this file are subject to the Mozilla Public License Version 1.1 2 //(the "License"); you may not use this file except in compliance with the 3 //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ 4 // 5 //Software distributed under the License is distributed on an "AS IS" basis, 6 //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 7 //for the specific language governing rights and 8 //limitations under the License. 9 // 10 //The Original Code is "The Columba Project" 11 // 12 //The Initial Developers of the Original Code are Frederik Dietz and Timo Stich. 13 //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003. 14 // 15 //All Rights Reserved. 16 17 package org.columba.core.connectionstate; 18 19 import javax.swing.event.ChangeListener; 20 21 /** 22 * Encapsulates the system's connection state. Enables clients to register 23 * listeners in order to get notified on state changes. 24 */ 25 public interface ConnectionState { 26 /** 27 * Registers a listener to get notified on changes. 28 */ 29 public void addChangeListener(ChangeListener l); 30 31 /** 32 * Removes a previously registered listener. 33 */ 34 public void removeChangeListener(ChangeListener l); 35 36 /** 37 * Returns whether the system is currently online. 38 */ 39 public boolean isOnline(); 40 41 /** 42 * Sets the system's online state and notifies registered listeners. 43 */ 44 public void setOnline(boolean b); 45 } 46