/* * AidaTreeServer.java * * Created on May 11, 2003, 5:29 PM */ package hep.aida.ref.remote.basic.interfaces; /** * Main AIDA Tree Server - manages connect/disconnect of AidaTreeClients * and life cycle of AidaTreeServants. Each TreeServant can be associated * with only one TreeClient. * Each AidaTreeServer can be associated with only one ITree. * @author serbo */ public interface AidaTreeServer { /** * Return the name of the ITree it is connected to. */ String treeName(); /** * Returns "true" if this TreeServer/TreeServant implementation * support "Duplex Mode". */ boolean supportDuplexMode(); /** * connect/disconnect methods for TreeClient that does not support "Duplex" Mode. * TreeClient has to provide a unique "clientID" to TreeServer. If "clientID" is * not unique, TreeServer changes it, so TreeClient must check "newClientID", * returned by TreeServer. */ AidaTreeServant connectNonDuplex(String clientID); boolean disconnectNonDuplex(String clientID); /** * connect/disconnect methods for TreeClient that does support "Duplex" Mode. * Reference to instance of TreeClient serves also as a unique client ID. */ AidaTreeServant connectDuplex(AidaTreeClient client); boolean disconnectDuplex(AidaTreeClient client); }