ComponentManager.h
Go to the documentation of this file.
1 #ifndef COMPONENTMANAGER_H_
2 #define COMPONENTMANAGER_H_
3 
4 #include "GaudiKernel/IComponentManager.h"
5 #include "GaudiKernel/CommonMessaging.h"
6 
13 class GAUDI_API ComponentManager: public CommonMessaging<implements1<IComponentManager> > {
14 public:
15 
18  ComponentManager(IInterface *application, const InterfaceID &baseIID);
19 
21  const InterfaceID& componentBaseInterface() const override;
22 
24  ~ComponentManager() override = default;
25 
29  StatusCode queryInterface(const InterfaceID& iid, void** pinterface);
30 
31  SmartIF<ISvcLocator>& serviceLocator() const override {
32  if (!m_svcLocator) m_svcLocator = m_application;
33  return m_svcLocator;
34  }
35 
37  StatusCode configure() override {return StatusCode::SUCCESS;}
38 
40  StatusCode initialize() override {return StatusCode::SUCCESS;}
41 
43  StatusCode start() override {return StatusCode::SUCCESS;}
44 
46  StatusCode stop() override {return StatusCode::SUCCESS;}
47 
49  StatusCode finalize() override {return StatusCode::SUCCESS;}
50 
52  StatusCode terminate() override {return StatusCode::SUCCESS;}
53 
54 
56  StatusCode reinitialize() override {return StatusCode::SUCCESS;}
57 
59  StatusCode restart() override {return StatusCode::SUCCESS;}
60 
62  Gaudi::StateMachine::State FSMState() const override {return m_stateful->FSMState();}
63 
66  Gaudi::StateMachine::State targetFSMState() const override {return m_stateful->targetFSMState();}
67 
68 protected:
69 
71  SmartIF<IInterface> m_application;
72 
74  SmartIF<IStateful> m_stateful;
75 
77  InterfaceID m_basicInterfaceId;
78 
80  mutable SmartIF<ISvcLocator> m_svcLocator;
81 
82 };
83 
84 
85 #endif /* COMPONENTMANAGER_H_ */
def initialize()
Definition: AnalysisTest.py:12
Base class for a component manager.
#define GAUDI_API
Definition: Kernel.h:107
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm, Service, AlgTool).
Definition: StateMachine.h:12
Interface ID class.
Definition: IInterface.h:30
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
Definition of the basic interface.
Definition: IInterface.h:234
tuple start
Definition: IOTest.py:88