The Gaudi Framework  v30r3 (a5ef0a68)
ComponentManager Class Reference

Base class for a component manager. More...

#include <GaudiKernel/ComponentManager.h>

Inheritance diagram for ComponentManager:
Collaboration diagram for ComponentManager:

Public Member Functions

 ComponentManager (IInterface *application, const InterfaceID &baseIID)
 Constructor. More...
 
const InterfaceIDcomponentBaseInterface () const override
 Basic interface id of the managed components. More...
 
StatusCode queryInterface (const InterfaceID &iid, void **pinterface) override
 Specialized queryInterface implementation. More...
 
SmartIF< ISvcLocator > & serviceLocator () const override
 
StatusCode configure () override
 Configuration (from OFFLINE to CONFIGURED). More...
 
StatusCode initialize () override
 Initialization (from CONFIGURED to INITIALIZED). More...
 
StatusCode start () override
 Start (from INITIALIZED to RUNNING). More...
 
StatusCode stop () override
 Stop (from RUNNING to INITIALIZED). More...
 
StatusCode finalize () override
 Finalize (from INITIALIZED to CONFIGURED). More...
 
StatusCode terminate () override
 Initialization (from CONFIGURED to OFFLINE). More...
 
StatusCode reinitialize () override
 Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED). More...
 
StatusCode restart () override
 Initialization (from RUNNING to RUNNING, via INITIALIZED). More...
 
Gaudi::StateMachine::State FSMState () const override
 Get the current state. More...
 
Gaudi::StateMachine::State targetFSMState () const override
 When we are in the middle of a transition, get the state where the transition is leading us. More...
 
- Public Member Functions inherited from CommonMessaging< implements< IComponentManager > >
MSG::Level msgLevel () const
 get the cached level (originally extracted from the embedded MsgStream) More...
 
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream More...
 
MSG::Level outputLevel () const
 Backward compatibility function for getting the output level. More...
 
- Public Member Functions inherited from CommonMessagingBase
virtual ~CommonMessagingBase ()=default
 Virtual destructor. More...
 
const SmartIF< IMessageSvc > & msgSvc () const
 The standard message service. More...
 
MsgStreammsgStream () const
 Return an uninitialized MsgStream. More...
 
MsgStreammsgStream (const MSG::Level level) const
 Predefined configurable message stream for the efficient printouts. More...
 
MsgStreamalways () const
 shortcut for the method msgStream(MSG::ALWAYS) More...
 
MsgStreamfatal () const
 shortcut for the method msgStream(MSG::FATAL) More...
 
MsgStreamerr () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamerror () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamwarning () const
 shortcut for the method msgStream(MSG::WARNING) More...
 
MsgStreaminfo () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MsgStreamdebug () const
 shortcut for the method msgStream(MSG::DEBUG) More...
 
MsgStreamverbose () const
 shortcut for the method msgStream(MSG::VERBOSE) More...
 
MsgStreammsg () const
 shortcut for the method msgStream(MSG::INFO) More...
 

Protected Attributes

SmartIF< IInterfacem_application
 Pointer to the owner of the manager. More...
 
SmartIF< IStatefulm_stateful
 Pointer to the IStateful interface of the owner. More...
 
InterfaceID m_basicInterfaceId
 Basic interface id of the managed components. More...
 
SmartIF< ISvcLocatorm_svcLocator
 Service locator (needed to access the MessageSvc) More...
 
friend ApplicationMgr
 

Additional Inherited Members

- Public Types inherited from CommonMessaging< implements< IComponentManager > >
using base_class = CommonMessaging
 
- Protected Member Functions inherited from CommonMessaging< implements< IComponentManager > >
MSG::Level setUpMessaging () const
 Set up local caches. More...
 
MSG::Level resetMessaging ()
 Reinitialize internal states. More...
 
void updateMsgStreamOutputLevel (int level)
 Update the output level of the cached MsgStream. More...
 

Detailed Description

Base class for a component manager.

Author
Marco Clemencic

Definition at line 15 of file ComponentManager.h.

Constructor & Destructor Documentation

ComponentManager::ComponentManager ( IInterface application,
const InterfaceID baseIID 
)

Constructor.

Parameters
applicationthe manager of managers

Definition at line 12 of file ComponentManager.cpp.

13  : m_application( application ), m_stateful( application ), m_basicInterfaceId( baseIID )
14 {
15 }
SmartIF< IStateful > m_stateful
Pointer to the IStateful interface of the owner.
InterfaceID m_basicInterfaceId
Basic interface id of the managed components.
SmartIF< IInterface > m_application
Pointer to the owner of the manager.

Member Function Documentation

const InterfaceID & ComponentManager::componentBaseInterface ( ) const
override

Basic interface id of the managed components.

Definition at line 19 of file ComponentManager.cpp.

19 { return m_basicInterfaceId; }
InterfaceID m_basicInterfaceId
Basic interface id of the managed components.
StatusCode ComponentManager::configure ( )
inlineoverride

Configuration (from OFFLINE to CONFIGURED).

Definition at line 37 of file ComponentManager.h.

37 { return StatusCode::SUCCESS; }
constexpr static const auto SUCCESS
Definition: StatusCode.h:87
StatusCode ComponentManager::finalize ( )
inlineoverride

Finalize (from INITIALIZED to CONFIGURED).

Definition at line 49 of file ComponentManager.h.

49 { return StatusCode::SUCCESS; }
constexpr static const auto SUCCESS
Definition: StatusCode.h:87
Gaudi::StateMachine::State ComponentManager::FSMState ( ) const
inlineoverride

Get the current state.

Definition at line 61 of file ComponentManager.h.

61 { return m_stateful->FSMState(); }
SmartIF< IStateful > m_stateful
Pointer to the IStateful interface of the owner.
virtual Gaudi::StateMachine::State FSMState() const =0
Get the current state.
StatusCode ComponentManager::initialize ( )
inlineoverride

Initialization (from CONFIGURED to INITIALIZED).

Definition at line 40 of file ComponentManager.h.

40 { return StatusCode::SUCCESS; }
constexpr static const auto SUCCESS
Definition: StatusCode.h:87
StatusCode ComponentManager::queryInterface ( const InterfaceID iid,
void **  pinterface 
)
override

Specialized queryInterface implementation.

If an interface is not fount in the implemented ones, we fall back on the owner.

Definition at line 23 of file ComponentManager.cpp.

24 {
25  // try local interfaces
26  StatusCode sc = base_class::queryInterface( iid, pinterface );
27  // fall back on the owner, if local interface didn't match...
28  return sc.isSuccess() ? sc : m_application->queryInterface( iid, pinterface );
29 }
bool isSuccess() const
Definition: StatusCode.h:287
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:51
SmartIF< IInterface > m_application
Pointer to the owner of the manager.
StatusCode queryInterface(const InterfaceID &iid, void **pinterface) override
virtual StatusCode queryInterface(const InterfaceID &ti, void **pp)=0
Set the void** to the pointer to the requested interface of the instance.
StatusCode ComponentManager::reinitialize ( )
inlineoverride

Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).

Definition at line 55 of file ComponentManager.h.

55 { return StatusCode::SUCCESS; }
constexpr static const auto SUCCESS
Definition: StatusCode.h:87
StatusCode ComponentManager::restart ( )
inlineoverride

Initialization (from RUNNING to RUNNING, via INITIALIZED).

Definition at line 58 of file ComponentManager.h.

58 { return StatusCode::SUCCESS; }
constexpr static const auto SUCCESS
Definition: StatusCode.h:87
SmartIF<ISvcLocator>& ComponentManager::serviceLocator ( ) const
inlineoverride

Definition at line 30 of file ComponentManager.h.

31  {
33  return m_svcLocator;
34  }
SmartIF< ISvcLocator > m_svcLocator
Service locator (needed to access the MessageSvc)
SmartIF< IInterface > m_application
Pointer to the owner of the manager.
StatusCode ComponentManager::start ( )
inlineoverride

Start (from INITIALIZED to RUNNING).

Definition at line 43 of file ComponentManager.h.

43 { return StatusCode::SUCCESS; }
constexpr static const auto SUCCESS
Definition: StatusCode.h:87
StatusCode ComponentManager::stop ( )
inlineoverride

Stop (from RUNNING to INITIALIZED).

Definition at line 46 of file ComponentManager.h.

46 { return StatusCode::SUCCESS; }
constexpr static const auto SUCCESS
Definition: StatusCode.h:87
Gaudi::StateMachine::State ComponentManager::targetFSMState ( ) const
inlineoverride

When we are in the middle of a transition, get the state where the transition is leading us.

Otherwise it returns the same state as state().

Definition at line 65 of file ComponentManager.h.

65 { return m_stateful->targetFSMState(); }
SmartIF< IStateful > m_stateful
Pointer to the IStateful interface of the owner.
virtual Gaudi::StateMachine::State targetFSMState() const =0
When we are in the middle of a transition, get the state where the transition is leading us...
StatusCode ComponentManager::terminate ( )
inlineoverride

Initialization (from CONFIGURED to OFFLINE).

Definition at line 52 of file ComponentManager.h.

52 { return StatusCode::SUCCESS; }
constexpr static const auto SUCCESS
Definition: StatusCode.h:87

Member Data Documentation

friend ComponentManager::ApplicationMgr
protected

Definition at line 80 of file ComponentManager.h.

SmartIF<IInterface> ComponentManager::m_application
protected

Pointer to the owner of the manager.

Definition at line 69 of file ComponentManager.h.

InterfaceID ComponentManager::m_basicInterfaceId
protected

Basic interface id of the managed components.

Definition at line 75 of file ComponentManager.h.

SmartIF<IStateful> ComponentManager::m_stateful
protected

Pointer to the IStateful interface of the owner.

Definition at line 72 of file ComponentManager.h.

SmartIF<ISvcLocator> ComponentManager::m_svcLocator
mutableprotected

Service locator (needed to access the MessageSvc)

Definition at line 78 of file ComponentManager.h.


The documentation for this class was generated from the following files: