| The Gaudi Framework v29r1 (5cd95fa2)

- 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/DataHandle.h"
5 #include "GaudiKernel/DataObjID.h"
6 #include "GaudiKernel/IInterface.h"
7 #include "GaudiKernel/INamedInterface.h"
8
9 #include <set>
10 #include <vector>
11
12 class IDataHandleVisitor;
13
14 class GAUDI_API IDataHandleHolder : virtual public INamedInterface
15 {
16 public:
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 {
40 public:
41 virtual ~IDataHandleVisitor() = default;
42 virtual void visit( const IDataHandleHolder* ) = 0;
43 };
44
45 #endif // !GAUDIKERNEL_IDATAHANDLEHOLDER
DataObjID
Definition: DataObjID.h:37
INamedInterface::DeclareInterfaceID
DeclareInterfaceID(INamedInterface, 1, 0)
InterfaceID.
INamedInterface.h
IDataHandleHolder
Definition: IDataHandleHolder.h:14
Gaudi::DataHandle
Definition: DataHandle.h:28
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:31
DataHandle.h
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:110
IInterface.h