The Gaudi Framework
v30r3 (a5ef0a68)
|
The IAlgManager is the interface implemented by the Algorithm Factory in the Application Manager to support management functions. More...
#include <GaudiKernel/IAlgManager.h>
Public Member Functions | |
DeclareInterfaceID (IAlgManager, 6, 0) | |
InterfaceID. More... | |
virtual StatusCode | addAlgorithm (IAlgorithm *alg)=0 |
Add an algorithm to the list of known algorithms. More... | |
virtual StatusCode | removeAlgorithm (IAlgorithm *alg)=0 |
Remove an algorithm from the list of known algorithms. More... | |
virtual StatusCode | createAlgorithm (const std::string &algtype, const std::string &algname, IAlgorithm *&alg, bool managed=false, bool checkIfExists=true)=0 |
Create an instance of a algorithm type that has been declared beforehand and assigns to it a name. More... | |
virtual StatusCode | getAlgorithm (const std::string &name, IAlgorithm *&alg) const |
Find an algorithm with given name in the list of known algorithms. More... | |
virtual bool | existsAlgorithm (const std::string &name) const =0 |
Check the existence of an algorithm with a given name in the list of known algorithms. More... | |
virtual const std::vector< IAlgorithm * > & | getAlgorithms () const =0 |
Return the list of Algorithms. More... | |
virtual SmartIF< IAlgorithm > & | algorithm (const Gaudi::Utils::TypeNameString &typeName, const bool createIf=true)=0 |
Returns a smart pointer to a service. More... | |
template<typename T > | |
SmartIF< T > | algorithm (const Gaudi::Utils::TypeNameString &typeName, const bool createIf=true) |
Returns a smart pointer to the requested interface of a service. 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... | |
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... | |
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 InterfaceID & | interfaceID () |
Return an instance of InterfaceID identifying the interface. More... | |
The IAlgManager is the interface implemented by the Algorithm Factory in the Application Manager to support management functions.
Clients use this interface to declare abstract algorithm factories, and to create concrete instances of algorithms. There are currently 3 methods for the declaration: static creator method (creator), an abstract factory (factory) or a sharable library (module).
Definition at line 27 of file IAlgManager.h.
|
pure virtual |
Add an algorithm to the list of known algorithms.
|
pure virtual |
Returns a smart pointer to a service.
|
inline |
Returns a smart pointer to the requested interface of a service.
Definition at line 71 of file IAlgManager.h.
|
pure virtual |
Create an instance of a algorithm type that has been declared beforehand and assigns to it a name.
It returns a pointer to an IAlgorithm.
IAlgManager::DeclareInterfaceID | ( | IAlgManager | , |
6 | , | ||
0 | |||
) |
|
pure virtual |
Check the existence of an algorithm with a given name in the list of known algorithms.
|
inlinevirtual |
Find an algorithm with given name in the list of known algorithms.
Definition at line 50 of file IAlgManager.h.
|
pure virtual |
Return the list of Algorithms.
|
pure virtual |
Remove an algorithm from the list of known algorithms.