IDataHandleHolder.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IDATAHANDLEHOLDER
2 #define GAUDIKERNEL_IDATAHANDLEHOLDER 1
3 
7 
8 #include <vector>
9 #include <set>
10 
11 namespace Gaudi {
12  class DataHandle;
13 }
14 
15 class IDataHandleVisitor;
16 
18 public:
19  virtual ~IDataHandleHolder() {}
20 
21  virtual std::vector<Gaudi::DataHandle*> inputHandles() const = 0;
22  virtual std::vector<Gaudi::DataHandle*> outputHandles() const = 0;
23 
24  virtual const DataObjIDColl& extraInputDeps() const = 0;
25  virtual const DataObjIDColl& extraOutputDeps() const = 0;
26 
27  virtual void acceptDHVisitor(IDataHandleVisitor*) const = 0;
28 
29  virtual void commitHandles() = 0;
30 
32 
33  protected:
34  virtual void declareInput(Gaudi::DataHandle*) = 0;
35  virtual void declareOutput(Gaudi::DataHandle*) = 0;
36 };
37 
39 public:
40  virtual ~IDataHandleVisitor() {}
41  virtual void visit(const IDataHandleHolder*) = 0;
42 };
43 
44 #endif // !GAUDIKERNEL_IDATAHANDLEHOLDER
DeclareInterfaceID(INamedInterface, 1, 0)
InterfaceID.
virtual void visit(const IDataHandleHolder *)=0
virtual ~IDataHandleVisitor()
IInterface compliant class extending IInterface with the name() method.
#define GAUDI_API
Definition: Kernel.h:107
Helper functions to set/get the application return code.
Definition: __init__.py:1
virtual ~IDataHandleHolder()