Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IDataHandleHolder.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IDATAHANDLEHOLDER
2 #define GAUDIKERNEL_IDATAHANDLEHOLDER 1
3 
8 
9 #include <set>
10 #include <vector>
11 
12 class IDataHandleVisitor;
13 
15 public:
16  virtual std::vector<Gaudi::DataHandle*> inputHandles() const = 0;
17  virtual std::vector<Gaudi::DataHandle*> outputHandles() const = 0;
18 
19  virtual const DataObjIDColl& extraInputDeps() const = 0;
20  virtual const DataObjIDColl& extraOutputDeps() const = 0;
21 
22  virtual void acceptDHVisitor( IDataHandleVisitor* ) const = 0;
23 
24  virtual const DataObjIDColl& inputDataObjs() const = 0;
25  virtual const DataObjIDColl& outputDataObjs() const = 0;
26 
27  virtual void addDependency( const DataObjID&, const Gaudi::DataHandle::Mode& ) = 0;
28 
30 
31  virtual void declare( Gaudi::DataHandle& ) = 0;
32  virtual void renounce( Gaudi::DataHandle& ) = 0;
33 };
34 
36 public:
37  virtual ~IDataHandleVisitor() = default;
38  virtual void visit( const IDataHandleHolder* ) = 0;
39 };
40 
41 #endif // !GAUDIKERNEL_IDATAHANDLEHOLDER
DeclareInterfaceID(INamedInterface, 1, 0)
InterfaceID.
IInterface compliant class extending IInterface with the name() method.
STL class.
#define GAUDI_API
Definition: Kernel.h:71