| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

ISvcManager Class Reference

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]
List of all members.

Public Types

 SUCCESS = 1
 Normal successful completion.
 NO_INTERFACE
 Requested interface is not available.
 VERSMISMATCH
 Requested interface version is incompatible.
 LAST_ERROR
 Last error.
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...

Public Member Functions

virtual StatusCode addService (IService *svc, int prio)=0
 Add a service to the "active" list of services of the factory.
virtual StatusCode addService (const std::string &typ, const std::string &nam, int prio)=0
 Add a service to the "active" list of services of the factory.
virtual StatusCode removeService (IService *svc)=0
 Remove a service from the "active" list of services of the factory.
virtual StatusCode removeService (const std::string &nam)=0
 Remove a service from the "active" list of services of the factory.
virtual StatusCode declareSvcFactory (const ISvcFactory &factory, const std::string &svctype)=0
 Declare an abstract factory for a given service type.
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.
virtual StatusCode createService (const std::string &svctype, const std::string &svcname, IService *&svc)=0
 Creates and instance of a service type that has been declared beforehand and assigns it a name.
virtual StatusCode getFactory (const std::string &svc_type, const ISvcFactory *&fac) const =0
 Access to service factory by name to create unmanaged services.
virtual StatusCode initializeServices ()=0
 Initializes the list of "active" services.
virtual StatusCode startServices ()=0
 Starts the list of "active" services.
virtual StatusCode stopServices ()=0
 Stops the list of "active" services.
virtual StatusCode finalizeServices ()=0
 Finalizes the list of "active" services.
virtual StatusCode reinitializeServices ()=0
 Reinitializes the list of "active" services.
virtual StatusCode restartServices ()=0
 Restarts the list of "active" services.
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.
virtual void setLoopCheckEnabled (bool en=true)=0
 Set the value of the initialization loop check flag.
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvInterface)=0
 Query interfaces of Interface.
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance.
virtual unsigned long release ()=0
 Release Interface instance.

Static Public Member Functions

static const InterfaceIDinterfaceID ()
 Retrieve interface ID.

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


Member Enumeration Documentation

enum IInterface::Status [inherited]

Return status.

Enumerator:
SUCCESS  Normal successful completion.
NO_INTERFACE  Requested interface is not available.
VERSMISMATCH  Requested interface version is incompatible.
LAST_ERROR  Last error.

Reimplemented in IConversionSvc, IConverter, and IDataProviderSvc.

Definition at line 113 of file IInterface.h.

00113                 {
00115     SUCCESS = 1,
00117     NO_INTERFACE,
00119     VERSMISMATCH,
00121     LAST_ERROR
00122   };


Member Function Documentation

static const InterfaceID& ISvcManager::interfaceID (  )  [inline, static]

Retrieve interface ID.

Reimplemented from IInterface.

Definition at line 30 of file ISvcManager.h.

00030 { return IID_ISvcManager; }

virtual StatusCode ISvcManager::addService ( IService svc,
int  prio 
) [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 
) [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::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::declareSvcFactory ( const ISvcFactory &  factory,
const std::string &  svctype 
) [pure 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.

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::createService ( const std::string &  svctype,
const std::string &  svcname,
IService *&  svc 
) [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:
svctype Service type name
svcname Service name to be set
svc Returned service pointer
Returns:
StatusCode indicating success or failure.

virtual StatusCode ISvcManager::getFactory ( const std::string &  svc_type,
const ISvcFactory *&  fac 
) const [pure 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.

virtual StatusCode ISvcManager::initializeServices (  )  [pure virtual]

Initializes the list of "active" services.

Returns:
StatusCode indicating success or failure.

virtual StatusCode ISvcManager::startServices (  )  [pure virtual]

Starts the list of "active" services.

Returns:
StatusCode indicating success or failure.

virtual StatusCode ISvcManager::stopServices (  )  [pure virtual]

Stops the list of "active" services.

Returns:
StatusCode indicating success or failure.

virtual StatusCode ISvcManager::finalizeServices (  )  [pure virtual]

Finalizes the list of "active" services.

Returns:
StatusCode indicating success or failure.

virtual StatusCode ISvcManager::reinitializeServices (  )  [pure virtual]

Reinitializes the list of "active" services.

Returns:
StatusCode indicating success or failure.

virtual StatusCode ISvcManager::restartServices (  )  [pure virtual]

Restarts the list of "active" services.

Returns:
StatusCode indicating success or failure.

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

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

virtual bool ISvcManager::loopCheckEnabled (  )  const [pure virtual]

Get the value of the initialization loop check flag.

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

Set the value of the initialization loop check flag.

virtual StatusCode IInterface::queryInterface ( const InterfaceID riid,
void **  ppvInterface 
) [pure virtual, inherited]

Query interfaces of Interface.

Parameters:
riid ID of Interface to be retrieved
ppvInterface Pointer to Location for interface pointer

Implemented in Algorithm, AlgTool, Auditor, ConversionSvc, Converter, DataSvc, EventSelectorDataStream, MinimalEventLoopMgr, PropertyMgr, SelectStatement, and Service.

virtual unsigned long IInterface::addRef (  )  [pure virtual, inherited]

Increment the reference count of Interface instance.

Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, and Service.

virtual unsigned long IInterface::release (  )  [pure virtual, inherited]

Release Interface instance.

Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, and Service.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:11 2011 for GaudiKernel by doxygen 1.4.7