|
Gaudi Framework, version v23r2 |
| Home | Generated: Thu Jun 28 2012 |
00001 #ifndef COMPONENTMANAGER_H_ 00002 #define COMPONENTMANAGER_H_ 00003 00004 #include "GaudiKernel/IComponentManager.h" 00005 #include "GaudiKernel/CommonMessaging.h" 00006 #include "GaudiKernel/HashMap.h" 00007 00014 class GAUDI_API ComponentManager: public CommonMessaging<implements1<IComponentManager> > { 00015 public: 00016 00019 ComponentManager(IInterface *application, const InterfaceID &baseIID); 00020 00022 virtual const InterfaceID& componentBaseInterface() const; 00023 00025 virtual ~ComponentManager(); 00026 00030 StatusCode queryInterface(const InterfaceID& iid, void** pinterface); 00031 00032 virtual SmartIF<ISvcLocator>& serviceLocator() const { 00033 if (!m_svcLocator) m_svcLocator = m_application; 00034 return m_svcLocator; 00035 } 00036 00038 virtual StatusCode configure() {return StatusCode::SUCCESS;} 00039 00041 virtual StatusCode initialize() {return StatusCode::SUCCESS;} 00042 00044 virtual StatusCode start() {return StatusCode::SUCCESS;} 00045 00047 virtual StatusCode stop() {return StatusCode::SUCCESS;} 00048 00050 virtual StatusCode finalize() {return StatusCode::SUCCESS;} 00051 00053 virtual StatusCode terminate() {return StatusCode::SUCCESS;} 00054 00055 00057 virtual StatusCode reinitialize() {return StatusCode::SUCCESS;} 00058 00060 virtual StatusCode restart() {return StatusCode::SUCCESS;} 00061 00063 virtual Gaudi::StateMachine::State FSMState() const {return m_stateful->FSMState();} 00064 00067 virtual Gaudi::StateMachine::State targetFSMState() const {return m_stateful->targetFSMState();} 00068 00069 protected: 00070 00072 SmartIF<IInterface> m_application; 00073 00075 SmartIF<IStateful> m_stateful; 00076 00078 InterfaceID m_basicInterfaceId; 00079 00081 mutable SmartIF<ISvcLocator> m_svcLocator; 00082 00083 }; 00084 00085 00086 #endif /* COMPONENTMANAGER_H_ */