The Gaudi Framework
v33r1 (b1225454)
IAlgResourcePool.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
#ifndef GAUDIKERNEL_IALGRESOURCEPOOL_H
12
#define GAUDIKERNEL_IALGRESOURCEPOOL_H
13
14
// Framework includes
15
#include "
GaudiKernel/IInterface.h
"
16
17
// C++ includes
18
#include <list>
19
#include <string>
20
21
// Forward class declaration
22
class
IAlgorithm
;
23
36
class
GAUDI_API
IAlgResourcePool
:
virtual
public
IInterface
{
37
public
:
39
DeclareInterfaceID
(
IAlgResourcePool
, 1, 0 );
40
42
virtual
StatusCode
acquireAlgorithm(
const
std::string
&
name
,
IAlgorithm
*& algo,
bool
blocking =
false
) = 0;
44
virtual
StatusCode
releaseAlgorithm(
const
std::string
&
name
,
IAlgorithm
*& algo ) = 0;
45
47
virtual
std::list<IAlgorithm*>
getFlatAlgList() = 0;
48
50
virtual
std::list<IAlgorithm*>
getTopAlgList() = 0;
51
53
virtual
StatusCode
acquireResource(
const
std::string
&
name
) = 0;
55
virtual
StatusCode
releaseResource(
const
std::string
&
name
) = 0;
56
};
57
58
#endif // GAUDIKERNEL_IALGRESOURCEPOOL_H
gaudiComponentHelp.name
name
Definition:
gaudiComponentHelp.py:52
std::string
STL class.
IAlgResourcePool
The IAlgResourcePool is the interface for managing algorithm instances, in particular if clones of th...
Definition:
IAlgResourcePool.h:36
StatusCode
This class is used for returning status codes from appropriate routines.
Definition:
StatusCode.h:61
IInterface
Definition of the basic interface.
Definition:
IInterface.h:254
std::list< IAlgorithm * >
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition:
IAlgorithm.h:38
DeclareInterfaceID
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition:
IInterface.h:23
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:81
IInterface.h
GaudiKernel
GaudiKernel
IAlgResourcePool.h
Generated on Mon Mar 23 2020 15:31:02 for The Gaudi Framework by
1.8.15