Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

IAlgManager Class Reference

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

#include <GaudiKernel/IAlgManager.h>

Inheritance diagram for IAlgManager:

IInterface List of all members.

Public Types

typedef IAlgorithm* (* AlgCreator )(const std::string& algname, ISvcLocator* svcloc)

Public Methods

virtual StatusCode addAlgorithm ( IAlgorithm* alg ) = 0
 Add an algorithm to the list of known algorithms.

virtual StatusCode removeAlgorithm ( IAlgorithm* alg ) = 0
 Remove an algorithm from the list of known algorithms.

virtual StatusCode declareAlgCreator ( AlgCreator creator, const std::string& algtype ) = 0
 Declare an algorithm static creator method to be use when creating instances of a given algorithm type.

virtual StatusCode declareAlgModule ( const std::string& module, const std::string& algtype ) = 0
 Declare a shareable library to be used for creating instances of a given algorithm type.

virtual StatusCode declareAlgFactory ( const IAlgFactory& factory, const std::string& algtype ) = 0
 Declare an abastract algorithm factory to be used to create instances of a given algorithm type.

virtual StatusCode createAlgorithm ( const std::string& algtype, const std::string& algname, IAlgorithm*& alg ) = 0
 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.

virtual StatusCode getAlgorithm ( const std::string& name, IAlgorithm*& alg ) const = 0
 Find an algorithm with given name in the list of known algorithms.

virtual bool existsAlgorithm ( const std::string& name ) const = 0
 Check the existance of an algorithm with a given name in the list of known algorithms.

virtual std::list<IAlgorithm*>& getAlgorithms ( ) const = 0
 Return the list of Algorithms.


Static Public Methods

const InterfaceIDinterfaceID ()
 Retrieve interface ID. More...


Detailed Description

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 shareable library (module).

Author(s):
Pere Mato

Definition at line 30 of file IAlgManager.h.


Member Typedef Documentation

typedef IAlgorithm* (* IAlgManager::AlgCreator)(const std::string& algname, ISvcLocator* svcloc)
 


Member Function Documentation

StatusCode IAlgManager::addAlgorithm ( IAlgorithm * alg ) [pure virtual]
 

Add an algorithm to the list of known algorithms.

StatusCode IAlgManager::createAlgorithm ( const std::string & algtype,
const std::string & algname,
IAlgorithm *& alg ) [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.

StatusCode IAlgManager::declareAlgCreator ( AlgCreator creator,
const std::string & algtype ) [pure virtual]
 

Declare an algorithm static creator method to be use when creating instances of a given algorithm type.

StatusCode IAlgManager::declareAlgFactory ( const IAlgFactory & factory,
const std::string & algtype ) [pure virtual]
 

Declare an abastract algorithm factory to be used to create instances of a given algorithm type.

StatusCode IAlgManager::declareAlgModule ( const std::string & module,
const std::string & algtype ) [pure virtual]
 

Declare a shareable library to be used for creating instances of a given algorithm type.

bool IAlgManager::existsAlgorithm ( const std::string & name ) const [pure virtual]
 

Check the existance of an algorithm with a given name in the list of known algorithms.

StatusCode IAlgManager::getAlgorithm ( const std::string & name,
IAlgorithm *& alg ) const [pure virtual]
 

Find an algorithm with given name in the list of known algorithms.

std::list< IAlgorithm *>& IAlgManager::getAlgorithms ( ) const [pure virtual]
 

Return the list of Algorithms.

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

Retrieve interface ID.

Reimplemented from IInterface.

Definition at line 33 of file IAlgManager.h.

StatusCode IAlgManager::removeAlgorithm ( IAlgorithm * alg ) [pure virtual]
 

Remove an algorithm from the list of known algorithms.


The documentation for this class was generated from the following file:
Generated at Wed Nov 21 12:22:10 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000