INTRODUCTION Overview Download and Install Quick Start Documentation Publications NONFRAMEWORK CODE Driver Interfaces Drivers Libraries Utilities FRAMEWORK CODE Interfaces Components Libraries Utilities Full Software Listings DEVELOPER Tutorials Examples Dev Guide Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
icegridmanager.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2004-2009 Alex Brooks, Alex Makarenko 00005 * 00006 * This copy of Orca is licensed to you under the terms described in 00007 * the LICENSE file included in this distribution. 00008 * 00009 */ 00010 00011 #ifndef ORCAICEGRID_ICEGRID_MANAGER_H 00012 #define ORCAICEGRID_ICEGRID_MANAGER_H 00013 00014 #include <orcaicegrid/abstracticegridmanager.h> 00015 #include <orcaicegrid/icegridsession.h> 00016 00017 namespace orcaicegrid 00018 { 00019 00036 class IceGridManager : public AbstractIceGridManager, public IceGridSession 00037 { 00038 public: 00040 IceGridManager( const orcaice::Context& context, 00041 const IceGrid::RegistryObserverPrx& reg =IceGrid::RegistryObserverPrx(), 00042 const IceGrid::NodeObserverPrx& node=IceGrid::NodeObserverPrx(), 00043 const IceGrid::ApplicationObserverPrx& app=IceGrid::ApplicationObserverPrx(), 00044 const IceGrid::AdapterObserverPrx& adpt=IceGrid::AdapterObserverPrx(), 00045 const IceGrid::ObjectObserverPrx& obj=IceGrid::ObjectObserverPrx() ); 00046 00047 // from AdminSessionManager 00048 virtual IceGrid::ApplicationInfo getApplicationInfo( const std::string &appName, int timeoutMs=-1 ); 00049 virtual void addApplication( IceGrid::ApplicationDescriptor descriptor, int timeoutMs=-1 ); 00050 virtual void updateApplication( IceGrid::ApplicationUpdateDescriptor descriptor, int timeoutMs=-1 ); 00051 virtual void patchApplication( const std::string &appName, bool shutdown, int timeoutMs=-1 ); 00052 virtual void removeApplication( const std::string &appName, int timeoutMs=-1 ); 00053 00054 virtual IceGrid::ServerState getServerState( const std::string &serverId, int timeoutMs=-1 ); 00055 virtual void startServer( const std::string &serverId, int timeoutMs=-1 ); 00056 virtual void stopServer( const std::string &serverId, int timeoutMs=-1 ); 00057 00058 virtual void removeObject( const Ice::Identity& id ); 00059 virtual Ice::StringSeq getAllAdapterIds(); 00060 virtual void removeAdapter( const std::string& adapterId ); 00061 00062 virtual IceGridManagerState state(); 00063 virtual void setObserver( IceGridManagerObserver* observer ); 00064 00065 // from IceGridSession 00066 virtual bool connectedEvent(); 00067 virtual void disconnectedEvent(); 00068 00069 private: 00070 00071 class Operation; 00072 void performOp( Operation &op, int timeoutMs ); 00073 00074 IceGrid::AdminPrx iceGridAdmin_; 00075 IceUtil::Mutex adminMutex_; 00076 00077 IceGridManagerObserver* observer_; 00078 00079 orcaice::Context context_; 00080 }; 00082 typedef IceUtil::Handle<IceGridManager> IceGridManagerPtr; 00083 00084 } // namespace 00085 00086 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)