| The Gaudi Framework v28r2p1 (f1a77ff4)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

IDataHandleHolder.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IDATAHANDLEHOLDER
2 #define GAUDIKERNEL_IDATAHANDLEHOLDER 1
3
4 #include "GaudiKernel/IInterface.h"
5 #include "GaudiKernel/INamedInterface.h"
6 #include "GaudiKernel/DataObjID.h"
7 #include "GaudiKernel/DataHandle.h"
8
9 #include <vector>
10 #include <set>
11
12 class IDataHandleVisitor;
13
14 class GAUDI_API IDataHandleHolder : virtual public INamedInterface {
15 public:
16
17 virtual std::vector<Gaudi::DataHandle*> inputHandles() const = 0;
18 virtual std::vector<Gaudi::DataHandle*> outputHandles() const = 0;
19
20 virtual const DataObjIDColl& extraInputDeps() const = 0;
21 virtual const DataObjIDColl& extraOutputDeps() const = 0;
22
23 virtual void acceptDHVisitor(IDataHandleVisitor*) const = 0;
24
25 virtual void commitHandles() = 0;
26
27 virtual const DataObjIDColl& inputDataObjs() const = 0;
28 virtual const DataObjIDColl& outputDataObjs() const = 0;
29
30 virtual void addDependency(const DataObjID&, const Gaudi::DataHandle::Mode&) = 0;
31
32 DeclareInterfaceID(IDataHandleHolder,1,0);
33
34 virtual void declare(Gaudi::DataHandle&) = 0;
35 virtual void renounce(Gaudi::DataHandle&) = 0;
36 };
37
38 class IDataHandleVisitor {
39 public:
40 virtual ~IDataHandleVisitor() = default;
41 virtual void visit(const IDataHandleHolder*) = 0;
42 };
43
44 #endif // !GAUDIKERNEL_IDATAHANDLEHOLDER
DataObjID
Definition: DataObjID.h:38
INamedInterface::DeclareInterfaceID
DeclareInterfaceID(INamedInterface, 1, 0)
InterfaceID.
INamedInterface.h
IDataHandleHolder
Definition: IDataHandleHolder.h:14
Gaudi::DataHandle
Definition: DataHandle.h:27
std::unordered_set< DataObjID, DataObjID_Hasher >
DataObjID.h
IDataHandleVisitor
Definition: IDataHandleHolder.h:38
INamedInterface
IInterface compliant class extending IInterface with the name() method.
Definition: INamedInterface.h:15
std::vector
STL class.
Gaudi::DataHandle::Mode
Mode
Definition: DataHandle.h:30
DataHandle.h
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107
IInterface.h