The Gaudi Framework  v29r0 (ff2e7097)
ComponentManager.h
Go to the documentation of this file.
1 #ifndef COMPONENTMANAGER_H_
2 #define COMPONENTMANAGER_H_
3 
6 
13 class GAUDI_API ComponentManager : public CommonMessaging<implements<IComponentManager>>
14 {
15 public:
18  ComponentManager( IInterface* application, const InterfaceID& baseIID );
19 
21  const InterfaceID& componentBaseInterface() const override;
22 
26  StatusCode queryInterface( const InterfaceID& iid, void** pinterface ) override;
27 
29  {
30  if ( !m_svcLocator ) m_svcLocator = m_application;
31  return m_svcLocator;
32  }
33 
35  StatusCode configure() override { return StatusCode::SUCCESS; }
36 
38  StatusCode initialize() override { return StatusCode::SUCCESS; }
39 
41  StatusCode start() override { return StatusCode::SUCCESS; }
42 
44  StatusCode stop() override { return StatusCode::SUCCESS; }
45 
47  StatusCode finalize() override { return StatusCode::SUCCESS; }
48 
50  StatusCode terminate() override { return StatusCode::SUCCESS; }
51 
54 
56  StatusCode restart() override { return StatusCode::SUCCESS; }
57 
59  Gaudi::StateMachine::State FSMState() const override { return m_stateful->FSMState(); }
60 
63  Gaudi::StateMachine::State targetFSMState() const override { return m_stateful->targetFSMState(); }
64 
65 protected:
68 
71 
74 
77 };
78 
79 #endif /* COMPONENTMANAGER_H_ */
Base class for a component manager.
SmartIF< ISvcLocator > m_svcLocator
Service locator (needed to access the MessageSvc)
Gaudi::StateMachine::State targetFSMState() const override
When we are in the middle of a transition, get the state where the transition is leading us...
Gaudi::StateMachine::State FSMState() const override
Get the current state.
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm, Service, AlgTool).
Definition: StateMachine.h:14
SmartIF< IStateful > m_stateful
Pointer to the IStateful interface of the owner.
SmartIF< ISvcLocator > & serviceLocator() const override
StatusCode finalize() override
Finalize (from INITIALIZED to CONFIGURED).
Interface ID class.
Definition: IInterface.h:29
StatusCode reinitialize() override
Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).
InterfaceID m_basicInterfaceId
Basic interface id of the managed components.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
Definition of the basic interface.
Definition: IInterface.h:277
StatusCode restart() override
Initialization (from RUNNING to RUNNING, via INITIALIZED).
SmartIF< IInterface > m_application
Pointer to the owner of the manager.
StatusCode initialize() override
Initialization (from CONFIGURED to INITIALIZED).
StatusCode start() override
Start (from INITIALIZED to RUNNING).
StatusCode configure() override
Configuration (from OFFLINE to CONFIGURED).
StatusCode queryInterface(const InterfaceID &iid, void **pinterface) override
#define GAUDI_API
Definition: Kernel.h:110
StatusCode stop() override
Stop (from RUNNING to INITIALIZED).
StatusCode terminate() override
Initialization (from CONFIGURED to OFFLINE).