| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 #include "GaudiKernel/HashMap.h"
7
14 class GAUDI_API ComponentManager: public CommonMessaging<implements1<IComponentManager> > {
15 public:
16
19 ComponentManager(IInterface *application, const InterfaceID &baseIID);
20
22 virtual const InterfaceID& componentBaseInterface() const;
23
25 virtual ~ComponentManager();
26
30 StatusCode queryInterface(const InterfaceID& iid, void** pinterface);
31
32 virtual SmartIF<ISvcLocator>& serviceLocator() const {
33 if (!m_svcLocator) m_svcLocator = m_application;
34 return m_svcLocator;
35 }
36
38 virtual StatusCode configure() {return StatusCode::SUCCESS;}
39
41 virtual StatusCode initialize() {return StatusCode::SUCCESS;}
42
44 virtual StatusCode start() {return StatusCode::SUCCESS;}
45
47 virtual StatusCode stop() {return StatusCode::SUCCESS;}
48
50 virtual StatusCode finalize() {return StatusCode::SUCCESS;}
51
53 virtual StatusCode terminate() {return StatusCode::SUCCESS;}
54
55
57 virtual StatusCode reinitialize() {return StatusCode::SUCCESS;}
58
60 virtual StatusCode restart() {return StatusCode::SUCCESS;}
61
63 virtual Gaudi::StateMachine::State FSMState() const {return m_stateful->FSMState();}
64
67 virtual Gaudi::StateMachine::State targetFSMState() const {return m_stateful->targetFSMState();}
68
69 protected:
70
72 SmartIF<IInterface> m_application;
73
75 SmartIF<IStateful> m_stateful;
76
78 InterfaceID m_basicInterfaceId;
79
81 mutable SmartIF<ISvcLocator> m_svcLocator;
82
83 };
84
85
86 #endif /* COMPONENTMANAGER_H_ */