| The Gaudi Framework v28r2p1 (f1a77ff4)

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

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Attributes | List of all members
ISvcManager Class Referenceabstract

The ISvcManager is the interface implemented by the Service Factory in the Application Manager to support management functions. More...

`#include <GaudiKernel/ISvcManager.h>`

Inheritance diagram for ISvcManager:
[legend]
Collaboration diagram for ISvcManager:
[legend]

## 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 std::string &typ, const std::string &nam, int prio)
| 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 (const std::string &nam)=0
| Remove a service from the "active" list of services of the factory. More...
virtual StatusCode | declareSvcFactory (const ISvcFactory &, const std::string &)
| Declare an abstract factory for a given service type. More...
virtual StatusCode | declareSvcType (const std::string &svcname, const 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 StatusCode | createService (const std::string &svctype, const std::string &svcname, IService *&svc)
| Creates and instance of a service type that has been declared beforehand and assigns it a name. More...
virtual StatusCode | getFactory (const std::string &, const ISvcFactory *&) const
| Access to service factory by name to create unmanaged services. More...
virtual StatusCode | initializeServices ()
| Initializes the list of "active" services. More...
virtual StatusCode | startServices ()
| Starts the list of "active" services. More...
virtual StatusCode | stopServices ()
| Stops the list of "active" services. More...
virtual StatusCode | finalizeServices ()
| Finalizes the list of "active" services. More...
virtual StatusCode | reinitializeServices ()
| Reinitializes the list of "active" services. More...
virtual StatusCode | restartServices ()
| Restarts the list of "active" services. More...
virtual int | getPriority (const std::string &name) const =0
virtual StatusCode | setPriority (const std::string &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 InterfaceID & | componentBaseInterface () const =0
| Basic interface id of the managed components. 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 { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, 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 InterfaceID & | interfaceID ()
| 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 28 of file ISvcManager.h.

## Member Function Documentation

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

  svc | Pointer to the service

Returns
  StatusCode indicating success or failure.

virtual StatusCode ISvcManager::addService | ( | const std::string & | typ,
|  | const std::string & | nam,
|  | int | prio
| ) |  |
| inline virtual

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

Parameters

  svc | Pointer to the service

Returns
  StatusCode indicating success or failure.

Definition at line 48 of file ISvcManager.h.

48 {
49 return addService(Gaudi::Utils::TypeNameString(nam,typ), prio);
50 }
ISvcManager::addService
virtual StatusCode addService(IService *svc, int prio=DEFAULT_SVC_PRIORITY)=0
Add a service to the "active" list of services of the factory.
Gaudi::Utils::TypeNameString
Helper class to parse a string of format "type/name".
Definition: TypeNameString.h:12

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

  svc | Pointer to the service

Returns
  StatusCode indicating success or failure.

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

  nametype | name/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)

virtual StatusCode ISvcManager::createService | ( | const std::string & | svctype,
|  | const std::string & | svcname,
|  | IService *& | svc
| ) |  |
| inline 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

  svctype | Service type name
  svcname | Service name to be set
  svc | Returned service pointer

Returns
  StatusCode indicating success or failure.

Definition at line 123 of file ISvcManager.h.

125 {
126 SmartIF<IService> s = createService(svctype + "/" + svcname);
127 svc = s.get();
128 if (svc) {
129 svc->addRef(); // Needed to maintain the correct reference counting.
130 return StatusCode::SUCCESS;
131 }
132 return StatusCode::FAILURE;
133 }
StatusCode::SUCCESS
Definition: StatusCode.h:30
SmartIF< IService >
StatusCode::FAILURE
Definition: StatusCode.h:29
SmartIF::get
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
ISvcManager::createService
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...
gaudirun.s
string s
Definition: gaudirun.py:245

ISvcManager::DeclareInterfaceID | ( | ISvcManager | ,
|  | 4 | ,
|  | 0 |
| ) |  |

InterfaceID.

virtual StatusCode ISvcManager::declareSvcFactory | ( | const ISvcFactory & | ,
|  | const std::string & |
| ) |  |
| inline virtual

Declare an abstract factory for a given service type.

Parameters

  factory | Abstract factory reference
  svctype | Service type name

Returns
  StatusCode indicating success or failure.

Definition at line 81 of file ISvcManager.h.

82 {
83 // This function is never used.
84 return StatusCode::FAILURE;
85 }
StatusCode::FAILURE
Definition: StatusCode.h:29

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

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

Parameters

  svcname | Service name
  svctype | Service type name

Returns
  StatusCode indicating success or failure.

virtual StatusCode ISvcManager::finalizeServices | ( |  | ) |
| inline virtual

Finalizes the list of "active" services.

Returns
  StatusCode indicating success or failure.

Definition at line 169 of file ISvcManager.h.

169 { return finalize(); }
IStateful::finalize
virtual StatusCode finalize()=0
Finalize (from INITIALIZED to CONFIGURED).

virtual StatusCode ISvcManager::getFactory | ( | const std::string & | ,
|  | const ISvcFactory *& |
| ) |  | const
| inline virtual

Access to service factory by name to create unmanaged services.

Parameters

  svc_type | [IN] Name of the service type
  fac | [OUT] Reference to store pointer to service factory

Returns
  StatusCode indicating success or failure.

Definition at line 141 of file ISvcManager.h.

142 {
143 // This function is never used.
144 return StatusCode::FAILURE;
145 }
StatusCode::FAILURE
Definition: StatusCode.h:29

virtual int ISvcManager::getPriority | ( | const std::string & | name | ) | const
| pure virtual

virtual StatusCode ISvcManager::initializeServices | ( |  | ) |
| inline virtual

Initializes the list of "active" services.

Returns
  StatusCode indicating success or failure.

Definition at line 151 of file ISvcManager.h.

151 { return initialize(); }
IStateful::initialize
virtual StatusCode initialize()=0
Initialization (from CONFIGURED to INITIALIZED).

virtual bool ISvcManager::loopCheckEnabled | ( |  | ) | const
| pure virtual

Get the value of the initialization loop check flag.

virtual StatusCode ISvcManager::reinitializeServices | ( |  | ) |
| inline virtual

Reinitializes the list of "active" services.

Returns
  StatusCode indicating success or failure.

Definition at line 175 of file ISvcManager.h.

175 { return reinitialize(); }
IStateful::reinitialize
virtual StatusCode reinitialize()=0
Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED).

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

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

Parameters

  svc | Pointer to the service

Returns
  StatusCode indicating success or failure.

virtual StatusCode ISvcManager::removeService | ( | const std::string & | nam | ) |
| pure virtual

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

Parameters

  svc | Pointer to the service

Returns
  StatusCode indicating success or failure.

virtual StatusCode ISvcManager::restartServices | ( |  | ) |
| inline virtual

Restarts the list of "active" services.

Returns
  StatusCode indicating success or failure.

Definition at line 181 of file ISvcManager.h.

181 { return restart(); }
IStateful::restart
virtual StatusCode restart()=0
Initialization (from RUNNING to RUNNING, via INITIALIZED).

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

Set the value of the initialization loop check flag.

virtual StatusCode ISvcManager::setPriority | ( | const std::string & | name,
|  | int | pri
| ) |  |
| pure virtual

virtual StatusCode ISvcManager::startServices | ( |  | ) |
| inline virtual

Starts the list of "active" services.

Returns
  StatusCode indicating success or failure.

Definition at line 157 of file ISvcManager.h.

157 { return start(); }
IStateful::start
virtual StatusCode start()=0
Start (from INITIALIZED to RUNNING).

virtual StatusCode ISvcManager::stopServices | ( |  | ) |
| inline virtual

Stops the list of "active" services.

Returns
  StatusCode indicating success or failure.

Definition at line 163 of file ISvcManager.h.

163 { return stop(); }
IStateful::stop
virtual StatusCode stop()=0
Stop (from RUNNING to INITIALIZED).

## Member Data Documentation

const int ISvcManager::DEFAULT_SVC_PRIORITY = 100
| static

Definition at line 33 of file ISvcManager.h.

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

- GaudiKernel/GaudiKernel/ISvcManager.h