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

SourceForge.net Logo
Project
Download
Mailing lists

 

         

icegridmanager.h

00001 /*
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)


Generated for Orca Robotics by  doxygen 1.4.5