Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  master (42b00024)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ISvcManager Class Referenceabstract

#include <GaudiKernel/ISvcManager.h>

Inheritance diagram for ISvcManager:
Collaboration diagram for ISvcManager:

Public Member Functions

 DeclareInterfaceID (ISvcManager, 4, 0)
 InterfaceID. More...
 
virtual StatusCode addService (IService *svc, int prio=DEFAULT_SVC_PRIORITY)=0
 Add a service to the "active" list of services of the factory. More...
 
virtual StatusCode addService (const Gaudi::Utils::TypeNameString &nametype, int prio=DEFAULT_SVC_PRIORITY)=0
 Add a service to the "active" list of services of the factory. More...
 
virtual StatusCode removeService (IService *svc)=0
 Remove a service from the "active" list of services of the factory. More...
 
virtual StatusCode removeService (std::string_view nam)=0
 Remove a service from the "active" list of services of the factory. More...
 
virtual StatusCode declareSvcType (std::string svcname, std::string svctype)=0
 Declare the type of the service to be used when crating a given service name. More...
 
virtual SmartIF< IService > & createService (const Gaudi::Utils::TypeNameString &nametype)=0
 Creates and instance of a service type that has been declared beforehand and assigns it a name. More...
 
virtual int getPriority (std::string_view name) const =0
 
virtual StatusCode setPriority (std::string_view name, int pri)=0
 
virtual bool loopCheckEnabled () const =0
 Get the value of the initialization loop check flag. More...
 
virtual void setLoopCheckEnabled (bool en=true)=0
 Set the value of the initialization loop check flag. More...
 
- Public Member Functions inherited from IComponentManager
 DeclareInterfaceID (IComponentManager, 1, 0)
 InterfaceID. More...
 
virtual const InterfaceIDcomponentBaseInterface () const =0
 Basic interface id of the managed components. More...
 
virtual void outputLevelUpdate ()=0
 Function to call to update the outputLevel of the components (after a change in MessageSvc). More...
 
- Public Member Functions inherited from IStateful
 DeclareInterfaceID (IStateful, 1, 0)
 InterfaceID. More...
 
virtual StatusCode configure ()=0
 Configuration (from OFFLINE to CONFIGURED). More...
 
virtual StatusCode initialize ()=0
 Initialization (from CONFIGURED to INITIALIZED). More...
 
virtual StatusCode start ()=0
 Start (from INITIALIZED to RUNNING). More...
 
virtual StatusCode stop ()=0
 Stop (from RUNNING to INITIALIZED). More...
 
virtual StatusCode finalize ()=0
 Finalize (from INITIALIZED to CONFIGURED). More...
 
virtual StatusCode terminate ()=0
 Initialization (from CONFIGURED to OFFLINE). More...
 
virtual StatusCode reinitialize ()=0
 Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED). More...
 
virtual StatusCode restart ()=0
 Initialization (from RUNNING to RUNNING, via INITIALIZED). More...
 
virtual Gaudi::StateMachine::State FSMState () const =0
 Get the current state. More...
 
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. More...
 
- Public Member Functions inherited from IInterface
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 release ()=0
 Release 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 ()=default
 Virtual destructor. More...
 

Static Public Attributes

static const int DEFAULT_SVC_PRIORITY = 100
 

Additional Inherited Members

- Public Types inherited from IInterface
enum  Status : StatusCode::code_t {
  Status::FAILURE = 0, Status::SUCCESS = 1, Status::NO_INTERFACE, Status::VERSMISMATCH,
  Status::LAST_ERROR
}
 Return status. More...
 
using iid = Gaudi::InterfaceId< IInterface, 0, 0 >
 Interface ID. More...
 
using ext_iids = Gaudi::interface_list< iid >
 Extra interfaces. More...
 
- Static Public Member Functions inherited from IInterface
static const InterfaceIDinterfaceID ()
 Return an instance of InterfaceID identifying the interface. More...
 

Detailed Description

The ISvcManager is the interface implemented by the Service Factory in the Application Manager to support management functions. Clients use this interface to declare abstract service factories, and to create concrete instances of services.

Author
Pere Mato

Definition at line 32 of file ISvcManager.h.

Member Function Documentation

◆ addService() [1/2]

virtual StatusCode ISvcManager::addService ( const Gaudi::Utils::TypeNameString nametype,
int  prio = DEFAULT_SVC_PRIORITY 
)
pure virtual

Add a service to the "active" list of services of the factory.

Parameters
svcPointer to the service
Returns
StatusCode indicating success or failure.

◆ addService() [2/2]

virtual StatusCode ISvcManager::addService ( IService svc,
int  prio = DEFAULT_SVC_PRIORITY 
)
pure virtual

Add a service to the "active" list of services of the factory.

Parameters
svcPointer to the service
Returns
StatusCode indicating success or failure.

◆ createService()

virtual SmartIF<IService>& ISvcManager::createService ( const Gaudi::Utils::TypeNameString nametype)
pure virtual

Creates and instance of a service type that has been declared beforehand and assigns it a name.

It returns a pointer to an IService.

Parameters
nametypename/type of the service to create
Returns
SmartIF& to the created service.

NOTE: as this returns a &, the underlying implementation must guarantee that once created, these SmartIF remain pinned in their location, thus constraining the underlying implementation (i.e. one cannot use something like std::vector<SmartIF<IService>>). If this interface had used value-semantics, and returned just plain SmartIF<IService> (i.e. WITHOUT the &) then the underlying implementation would have much more freedom)

◆ DeclareInterfaceID()

ISvcManager::DeclareInterfaceID ( ISvcManager  ,
,
 
)

◆ declareSvcType()

virtual StatusCode ISvcManager::declareSvcType ( std::string  svcname,
std::string  svctype 
)
pure virtual

Declare the type of the service to be used when crating a given service name.

Parameters
svcnameService name
svctypeService type name
Returns
StatusCode indicating success or failure.

◆ getPriority()

virtual int ISvcManager::getPriority ( std::string_view  name) const
pure virtual

◆ loopCheckEnabled()

virtual bool ISvcManager::loopCheckEnabled ( ) const
pure virtual

Get the value of the initialization loop check flag.

◆ removeService() [1/2]

virtual StatusCode ISvcManager::removeService ( IService svc)
pure virtual

Remove a service from the "active" list of services of the factory.

Parameters
svcPointer to the service
Returns
StatusCode indicating success or failure.

◆ removeService() [2/2]

virtual StatusCode ISvcManager::removeService ( std::string_view  nam)
pure virtual

Remove a service from the "active" list of services of the factory.

Parameters
svcPointer to the service
Returns
StatusCode indicating success or failure.

◆ setLoopCheckEnabled()

virtual void ISvcManager::setLoopCheckEnabled ( bool  en = true)
pure virtual

Set the value of the initialization loop check flag.

◆ setPriority()

virtual StatusCode ISvcManager::setPriority ( std::string_view  name,
int  pri 
)
pure virtual

Member Data Documentation

◆ DEFAULT_SVC_PRIORITY

const int ISvcManager::DEFAULT_SVC_PRIORITY = 100
static

Definition at line 37 of file ISvcManager.h.


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