![]() |
The Gaudi Framework
v26r0
|
Base class for all services. More...
#include <GaudiKernel/Service.h>
Public Types | |
typedef Gaudi::PluginService::Factory < IService *, const std::string &, ISvcLocator * > | Factory |
![]() | |
typedef CommonMessaging | base_class |
![]() | |
typedef implements3 | base_class |
Typedef to this class. More... | |
typedef extend_interfaces3 < IService, IProperty, IStateful > | extend_interfaces_base |
Typedef to the base of this class. More... | |
typedef extend_interfaces_base::ext_iids | interfaces |
MPL set of all the implemented interfaces. More... | |
![]() | |
typedef mpl::fold< typename IService::iid::iids::type, typename mpl::fold< typename IProperty::iid::iids::type, typename IStateful::iid::iids::type, mpl::insert< mpl::_1, mpl::_2 > >::type, mpl::insert< mpl::_1, mpl::_2 > >::type | ext_iids |
MPL set of interfaces extended by this one. More... | |
![]() | |
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR } |
Return status. More... | |
typedef Gaudi::InterfaceId < IInterface, 0, 0 > | iid |
Interface ID. More... | |
typedef mpl::set1< iid > | ext_iids |
Extra interfaces. More... | |
Public Member Functions | |
virtual unsigned long | release () |
Release Interface instance. More... | |
virtual const std::string & | name () const |
Retrieve name of the service. More... | |
virtual StatusCode | configure () |
Configuration (from OFFLINE to CONFIGURED). More... | |
virtual StatusCode | initialize () |
Initialization (from CONFIGURED to INITIALIZED). More... | |
virtual StatusCode | start () |
Start (from INITIALIZED to RUNNING). More... | |
virtual StatusCode | stop () |
Stop (from RUNNING to INITIALIZED). More... | |
virtual StatusCode | finalize () |
Finalize (from INITIALIZED to CONFIGURED). More... | |
virtual StatusCode | terminate () |
Initialization (from CONFIGURED to OFFLINE). More... | |
virtual Gaudi::StateMachine::State | FSMState () const |
Get the current state. More... | |
virtual Gaudi::StateMachine::State | targetFSMState () const |
When we are in the middle of a transition, get the state where the transition is leading us. More... | |
virtual StatusCode | reinitialize () |
Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED). More... | |
virtual StatusCode | restart () |
Initialization (from RUNNING to RUNNING, via INITIALIZED). More... | |
virtual StatusCode | sysInitialize () |
Initialize Service. More... | |
virtual StatusCode | sysStart () |
Initialize Service. More... | |
virtual StatusCode | sysStop () |
Initialize Service. More... | |
virtual StatusCode | sysFinalize () |
Finalize Service. More... | |
virtual StatusCode | sysReinitialize () |
Re-initialize the Service. More... | |
virtual StatusCode | sysRestart () |
Re-initialize the Service. More... | |
virtual StatusCode | setProperty (const Property &p) |
Set the property by property. More... | |
virtual StatusCode | setProperty (const std::string &s) |
Set the property by string. More... | |
virtual StatusCode | setProperty (const std::string &n, const std::string &v) |
Set the property by std::string. More... | |
virtual StatusCode | getProperty (Property *p) const |
Get the property by property. More... | |
virtual const Property & | getProperty (const std::string &name) const |
Get the property by name. More... | |
virtual StatusCode | getProperty (const std::string &n, std::string &v) const |
Get the property by std::string. More... | |
virtual const std::vector < Property * > & | getProperties () const |
Get list of properties. More... | |
template<class TYPE > | |
StatusCode | setProperty (const std::string &name, const TYPE &value) |
set the property form the value More... | |
Service (const std::string &name, ISvcLocator *svcloc) | |
Standard Constructor. More... | |
SmartIF< ISvcLocator > & | serviceLocator () const |
Retrieve pointer to service locator. More... | |
StatusCode | setProperties () |
Method for setting declared properties to the values specified for the job. More... | |
template<class T > | |
StatusCode | service (const std::string &name, const T *&psvc, bool createIf=true) const |
Access a service by name, creating it if it doesn't already exist. More... | |
template<class T > | |
StatusCode | service (const std::string &name, T *&psvc, bool createIf=true) const |
template<class T > | |
StatusCode | service (const std::string &svcType, const std::string &svcName, T *&psvc) const |
Access a service by name and type, creating it if it doesn't already exist. More... | |
template<class T > | |
Property * | declareProperty (const std::string &name, T &property, const std::string &doc="none") const |
Declare the named property. More... | |
Property * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const |
Declare remote named properties. More... | |
SmartIF< IAuditorSvc > & | auditorSvc () const |
The standard auditor service.May not be invoked before sysInitialize() has been invoked. More... | |
![]() | |
CommonMessaging (const A1 &a1, const A2 &a2, const A3 &a3) | |
Templated constructor with 3 arguments. More... | |
CommonMessaging (const A1 &a1, const A2 &a2) | |
Templated constructor with 2 arguments. More... | |
CommonMessaging (const A1 &a1) | |
Templated constructor with 1 argument. More... | |
CommonMessaging () | |
Default constructor. More... | |
virtual | ~CommonMessaging () |
Virtual destructor. More... | |
SmartIF< IMessageSvc > & | msgSvc () const |
The standard message service. More... | |
MsgStream & | msgStream () const |
Return an uninitialized MsgStream. More... | |
MsgStream & | msgStream (const MSG::Level level) const |
Predefined configurable message stream for the efficient printouts. More... | |
MsgStream & | always () const |
shortcut for the method msgStream(MSG::ALWAYS) More... | |
MsgStream & | fatal () const |
shortcut for the method msgStream(MSG::FATAL) More... | |
MsgStream & | err () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | error () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | warning () const |
shortcut for the method msgStream(MSG::WARNING) More... | |
MsgStream & | info () const |
shortcut for the method msgStream(MSG::INFO) More... | |
MsgStream & | debug () const |
shortcut for the method msgStream(MSG::DEBUG) More... | |
MsgStream & | verbose () const |
shortcut for the method msgStream(MSG::VERBOSE) More... | |
MsgStream & | msg () const |
shortcut for the method msgStream(MSG::INFO) More... | |
MSG::Level | msgLevel () const |
get the output level from the embedded MsgStream More... | |
bool | msgLevel (MSG::Level lvl) const |
get the output level from the embedded MsgStream More... | |
![]() | |
virtual | ~extend_interfaces3 () |
Virtual destructor. More... | |
![]() | |
DeclareInterfaceID (IService, 3, 0) | |
InterfaceID. More... | |
virtual | ~IService () |
virtual destructor More... | |
![]() | |
DeclareInterfaceID (INamedInterface, 1, 0) | |
InterfaceID. More... | |
virtual | ~INamedInterface () |
Virtual destructor (always needed for abstract classes). More... | |
![]() | |
virtual void * | i_cast (const InterfaceID &) const =0 |
main cast function More... | |
virtual std::vector< std::string > | getInterfaceNames () const =0 |
Returns a vector of strings containing the names of all the implemented interfaces. More... | |
virtual unsigned long | addRef ()=0 |
Increment the reference count of Interface instance. More... | |
virtual unsigned long | refCount () const =0 |
Current reference count. More... | |
virtual StatusCode | queryInterface (const InterfaceID &ti, void **pp)=0 |
Set the void** to the pointer to the requested interface of the instance. More... | |
virtual | ~IInterface () |
Virtual destructor. More... | |
![]() | |
DeclareInterfaceID (IProperty, 2, 0) | |
InterfaceID. More... | |
![]() | |
DeclareInterfaceID (IStateful, 1, 0) | |
InterfaceID. More... | |
virtual | ~IStateful () |
Protected Member Functions | |
virtual | ~Service () |
Standard Destructor. More... | |
int | outputLevel () const |
get the Service's output level More... | |
![]() | |
void | updateMsgStreamOutputLevel (int level) |
Update the output level of the cached MsgStream. More... | |
Protected Attributes | |
IntegerProperty | m_outputLevel |
Service output level. More... | |
Gaudi::StateMachine::State | m_state |
Service state. More... | |
Gaudi::StateMachine::State | m_targetState |
Service state. More... | |
![]() | |
SmartIF< IMessageSvc > | m_msgsvc |
Pointer to the message service;. More... | |
std::auto_ptr< MsgStream > | m_msgStream |
The predefined message stream. More... | |
bool | m_streamWithService |
Flag to create a new MsgStream if it was created without the message service. More... | |
Private Member Functions | |
void | setServiceManager (ISvcManager *ism) |
void | initOutputLevel (Property &prop) |
callback for output level property More... | |
Private Attributes | |
std::string | m_name |
Service Name. More... | |
SmartIF< ISvcLocator > | m_svcLocator |
Service Locator reference. More... | |
SmartIF< ISvcManager > | m_svcManager |
PropertyMgr * | m_propertyMgr |
Property Manager. More... | |
SmartIF< IAuditorSvc > | m_pAuditorSvc |
Auditor Service. More... | |
BooleanProperty | m_auditInit |
bool | m_auditorInitialize |
bool | m_auditorStart |
bool | m_auditorStop |
bool | m_auditorFinalize |
bool | m_auditorReinitialize |
bool | m_auditorRestart |
Friends | |
class | ServiceManager |
Additional Inherited Members | |
![]() | |
static const InterfaceID & | interfaceID () |
Return an instance of InterfaceID identifying the interface. More... | |
typedef Gaudi::PluginService::Factory<IService*, const std::string&, ISvcLocator*> Service::Factory |
Service::Service | ( | const std::string & | name, |
ISvcLocator * | svcloc | ||
) |
Standard Constructor.
Definition at line 393 of file Service.cpp.
|
protectedvirtual |
SmartIF< IAuditorSvc > & Service::auditorSvc | ( | ) | const |
The standard auditor service.May not be invoked before sysInitialize() has been invoked.
Definition at line 444 of file Service.cpp.
|
inlinevirtual |
Configuration (from OFFLINE to CONFIGURED).
Implements IService.
Definition at line 50 of file Service.h.
|
inline |
Declare the named property.
name | the property name |
property | the property itself, |
doc | the documentation string |
Definition at line 211 of file Service.h.
|
inline |
Declare remote named properties.
This is used to declare as a local property a property of another services or algorithm. The only needed information is IProperty interface of the remote service and the its property name if different of the current one.
name | Local property name |
rsvc | Remote IProperty interface |
rname | Name of the property at remote service |
Definition at line 227 of file Service.h.
|
virtual |
Finalize (from INITIALIZED to CONFIGURED).
Implements IService.
Reimplemented in MultiStoreSvc, Gaudi::Utils::StopSignalHandler, DataSvc, PersistencySvc, HistogramSvc, DataOnDemandSvc, Gaudi::RootCnvSvc, GslSvc, EventCollectionSelector, EventSelector, ConversionSvc, Gaudi::RootPerfMonSvc, Gaudi::ParticlePropertySvc, MinimalEventLoopMgr, Gaudi::IODataManager, EventLoopMgr, RndmGenSvc, Gaudi::MultiFileCatalog, CounterSvc, RndmEngine, IncidentSvc, HistogramPersistencySvc, Gaudi::RootEvtSelector, StalledEventMonitor, AppMgrRunable, IoComponentMgr, MessageSvc, HistorySvc, AlgContextSvc, ChronoStatSvc, NTupleSvc, EvtPersistencySvc, DetDataSvc, ExceptionSvc, HepRndm::Engine< TYPE >, FileMgr, ToolSvc, JobOptionsSvc, TagCollectionSvc, AuditorSvc, THistSvc, RecordDataSvc, VFSSvc, PartPropSvc, PythonScriptingSvc, RootHistCnv::PersSvc, IssueLogger, EvtDataSvc, StatusCodeSvc, and DetPersistencySvc.
Definition at line 199 of file Service.cpp.
|
inlinevirtual |
|
virtual |
Get list of properties.
Implements IProperty.
Definition at line 366 of file Service.cpp.
|
virtual |
Get the property by property.
Implements IProperty.
Reimplemented in JobOptionsSvc.
Definition at line 354 of file Service.cpp.
|
virtual |
Get the property by name.
Implements IProperty.
Definition at line 358 of file Service.cpp.
|
virtual |
Get the property by std::string.
Implements IProperty.
Definition at line 362 of file Service.cpp.
|
virtual |
Initialization (from CONFIGURED to INITIALIZED).
Implements IService.
Reimplemented in MultiStoreSvc, DataSvc, Gaudi::Utils::StopSignalHandler, PersistencySvc, HistogramSvc, DataOnDemandSvc, Gaudi::RootCnvSvc, GslSvc, EventCollectionSelector, EventSelector, ConversionSvc, Gaudi::RootPerfMonSvc, Gaudi::ParticlePropertySvc, Gaudi::IODataManager, MinimalEventLoopMgr, EventLoopMgr, RndmGenSvc, Gaudi::MultiFileCatalog, IncidentSvc, RndmEngine, HistogramPersistencySvc, Gaudi::RootEvtSelector, IoComponentMgr, MessageSvc, HistorySvc, AlgContextSvc, ChronoStatSvc, AppMgrRunable, EvtPersistencySvc, NTupleSvc, StalledEventMonitor, ExceptionSvc, FileMgr, HepRndm::Engine< TYPE >, DetDataSvc, JobOptionsSvc, TagCollectionSvc, ToolSvc, THistSvc, AuditorSvc, RecordDataSvc, VFSSvc, PartPropSvc, PythonScriptingSvc, RootHistCnv::PersSvc, IssueLogger, EvtDataSvc, StatusCodeSvc, and DetPersistencySvc.
Definition at line 74 of file Service.cpp.
|
private |
callback for output level property
Definition at line 432 of file Service.cpp.
|
virtual |
Retrieve name of the service.
Implements CommonMessaging< implements3< IService, IProperty, IStateful > >.
Definition at line 331 of file Service.cpp.
|
inlineprotected |
|
virtual |
Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).
Implements IService.
Reimplemented in MultiStoreSvc, DataSvc, HistogramSvc, DataOnDemandSvc, EventSelector, MinimalEventLoopMgr, EventLoopMgr, HistogramPersistencySvc, HistorySvc, MessageSvc, NTupleSvc, DetDataSvc, THistSvc, RecordDataSvc, PartPropSvc, IssueLogger, EvtDataSvc, and StatusCodeSvc.
Definition at line 294 of file Service.cpp.
|
virtual |
Release Interface instance.
Specialized implementation because the default one is not enough.
Implements IInterface.
Definition at line 24 of file Service.cpp.
|
virtual |
Initialization (from RUNNING to RUNNING, via INITIALIZED).
Implements IService.
Reimplemented in MinimalEventLoopMgr.
Definition at line 315 of file Service.cpp.
|
inline |
Access a service by name, creating it if it doesn't already exist.
Definition at line 142 of file Service.h.
|
inline |
Definition at line 158 of file Service.h.
|
inline |
Access a service by name and type, creating it if it doesn't already exist.
Definition at line 176 of file Service.h.
|
virtual |
Retrieve pointer to service locator.
Implements CommonMessaging< implements3< IService, IProperty, IStateful > >.
Definition at line 336 of file Service.cpp.
StatusCode Service::setProperties | ( | ) |
Method for setting declared properties to the values specified for the job.
Definition at line 371 of file Service.cpp.
|
virtual |
Set the property by property.
Implements IProperty.
Reimplemented in JobOptionsSvc.
Definition at line 342 of file Service.cpp.
|
virtual |
Set the property by string.
Implements IProperty.
Definition at line 346 of file Service.cpp.
|
virtual |
Set the property by std::string.
Implements IProperty.
Definition at line 350 of file Service.cpp.
|
inline |
set the property form the value
Note: the interface IProperty allows setting of the properties either directly from other properties or from strings only
This is very convenient in resetting of the default properties in the derived classes. E.g. without this method one needs to convert everything into strings to use IProperty::setProperty
For simple cases it is more or less ok, but for complicated properties it is just ugly..
name | name of the property |
value | value of the property |
Definition at line 125 of file Service.h.
|
privatevirtual |
|
virtual |
Start (from INITIALIZED to RUNNING).
Implements IService.
Reimplemented in MinimalEventLoopMgr, AppMgrRunable, StalledEventMonitor, and ToolSvc.
Definition at line 158 of file Service.cpp.
|
virtual |
Stop (from RUNNING to INITIALIZED).
Implements IService.
Reimplemented in Gaudi::RootPerfMonSvc, MinimalEventLoopMgr, EventLoopMgr, HistorySvc, StalledEventMonitor, AppMgrRunable, and ToolSvc.
Definition at line 152 of file Service.cpp.
|
virtual |
Finalize Service.
Implements IService.
Reimplemented in AuditorSvc.
Definition at line 164 of file Service.cpp.
|
virtual |
Initialize Service.
Implements IService.
Reimplemented in AuditorSvc.
Definition at line 37 of file Service.cpp.
|
virtual |
Re-initialize the Service.
Implements IService.
Definition at line 206 of file Service.cpp.
|
virtual |
Re-initialize the Service.
Implements IService.
Definition at line 251 of file Service.cpp.
|
virtual |
Initialize Service.
Implements IService.
Definition at line 83 of file Service.cpp.
|
virtual |
Initialize Service.
Implements IService.
Definition at line 117 of file Service.cpp.
|
inlinevirtual |
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().
Implements IService.
Definition at line 57 of file Service.h.
|
inlinevirtual |
Initialization (from CONFIGURED to OFFLINE).
Implements IService.
Definition at line 55 of file Service.h.
|
friend |
|
private |
|
protected |
|
mutableprivate |
|
private |
|
protected |
|
mutableprivate |
|
private |
|
protected |