All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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:
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 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 InterfaceIDcomponentBaseInterface () const =0
 Basic interface id of the managed components. More...
 
virtual ~IComponentManager ()
 Virtual destructor. More...
 
- Public Member Functions inherited from IStateful
 DeclareInterfaceID (IStateful, 1, 0)
 InterfaceID. More...
 
virtual ~IStateful ()
 
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 ()
 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...
 
typedef Gaudi::InterfaceId
< IInterface, 0, 0 > 
iid
 Interface ID. More...
 
typedef mpl::set1< iidext_iids
 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 29 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
svcPointer to the service
Returns
StatusCode indicating success or failure.

Implemented in ServiceManager.

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

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

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

Definition at line 49 of file ISvcManager.h.

49  {
50  return addService(Gaudi::Utils::TypeNameString(nam,typ), prio);
51  }
virtual StatusCode addService(IService *svc, int prio=DEFAULT_SVC_PRIORITY)=0
Add a service to the "active" list of services of the factory.
Helper class to parse a string of format "type/name".
Definition: TypeNameString.h:9
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.

Implemented in ServiceManager.

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.

Implemented in ServiceManager.

virtual StatusCode ISvcManager::createService ( const std::string &  svctype,
const std::string &  svcname,
IService *&  svc 
)
inlinevirtual

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
svctypeService type name
svcnameService name to be set
svcReturned service pointer
Returns
StatusCode indicating success or failure.

Definition at line 115 of file ISvcManager.h.

117  {
118  SmartIF<IService> s = createService(svctype + "/" + svcname);
119  svc = s.get();
120  if (svc) {
121  svc->addRef(); // Needed to maintain the correct reference counting.
122  return StatusCode::SUCCESS;
123  }
124  return StatusCode::FAILURE;
125  }
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...
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:62
string s
Definition: gaudirun.py:210
virtual unsigned long addRef()=0
Increment the reference count of Interface instance.
ISvcManager::DeclareInterfaceID ( ISvcManager  ,
,
 
)
virtual StatusCode ISvcManager::declareSvcFactory ( const ISvcFactory &  ,
const std::string &   
)
inlinevirtual

Declare an abstract factory for a given service type.

Parameters
factoryAbstract factory reference
svctypeService type name
Returns
StatusCode indicating success or failure.

Definition at line 82 of file ISvcManager.h.

83  {
84  // This function is never used.
85  return StatusCode::FAILURE;
86  }
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
svcnameService name
svctypeService type name
Returns
StatusCode indicating success or failure.

Implemented in ServiceManager.

virtual StatusCode ISvcManager::finalizeServices ( )
inlinevirtual

Finalizes the list of "active" services.

Returns
StatusCode indicating success or failure.

Definition at line 161 of file ISvcManager.h.

161 { return finalize(); }
virtual StatusCode finalize()=0
Finalize (from INITIALIZED to CONFIGURED).
virtual StatusCode ISvcManager::getFactory ( const std::string &  ,
const ISvcFactory *&   
) const
inlinevirtual

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 133 of file ISvcManager.h.

134  {
135  // This function is never used.
136  return StatusCode::FAILURE;
137  }
virtual int ISvcManager::getPriority ( const std::string &  name) const
pure virtual

Implemented in ServiceManager.

virtual StatusCode ISvcManager::initializeServices ( )
inlinevirtual

Initializes the list of "active" services.

Returns
StatusCode indicating success or failure.

Definition at line 143 of file ISvcManager.h.

143 { return 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.

Implemented in ServiceManager.

virtual StatusCode ISvcManager::reinitializeServices ( )
inlinevirtual

Reinitializes the list of "active" services.

Returns
StatusCode indicating success or failure.

Definition at line 167 of file ISvcManager.h.

167 { return 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
svcPointer to the service
Returns
StatusCode indicating success or failure.

Implemented in ServiceManager.

virtual StatusCode ISvcManager::removeService ( const std::string &  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.

Implemented in ServiceManager.

virtual StatusCode ISvcManager::restartServices ( )
inlinevirtual

Restarts the list of "active" services.

Returns
StatusCode indicating success or failure.

Definition at line 173 of file ISvcManager.h.

173 { return 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.

Implemented in ServiceManager.

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

Implemented in ServiceManager.

virtual StatusCode ISvcManager::startServices ( )
inlinevirtual

Starts the list of "active" services.

Returns
StatusCode indicating success or failure.

Definition at line 149 of file ISvcManager.h.

149 { return start(); }
virtual StatusCode start()=0
Start (from INITIALIZED to RUNNING).
virtual StatusCode ISvcManager::stopServices ( )
inlinevirtual

Stops the list of "active" services.

Returns
StatusCode indicating success or failure.

Definition at line 155 of file ISvcManager.h.

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

Member Data Documentation

const int ISvcManager::DEFAULT_SVC_PRIORITY = 100
static

Definition at line 34 of file ISvcManager.h.


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