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 
20  virtual std::vector<Gaudi::DataHandle*> inputHandles() const = 0;
21  virtual std::vector<Gaudi::DataHandle*> outputHandles() const = 0;
22 
23  virtual const DataObjIDColl& extraInputDeps() const = 0;
24  virtual const DataObjIDColl& extraOutputDeps() const = 0;
25 
26  virtual void acceptDHVisitor(IDataHandleVisitor*) const = 0;
27 
28  virtual void commitHandles() = 0;
29 
30  virtual const DataObjIDColl& inputDataObjs() const = 0;
31  virtual const DataObjIDColl& outputDataObjs() const = 0;
32 
34 
35  virtual void declare(Gaudi::DataHandle&) = 0;
36  virtual void renounce(Gaudi::DataHandle&) = 0;
37 };
38 
40 public:
41  virtual ~IDataHandleVisitor() = default;
42  virtual void visit(const IDataHandleHolder*) = 0;
43 };
44 
45 #endif // !GAUDIKERNEL_IDATAHANDLEHOLDER
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:14
IInterface compliant class extending IInterface with the name() method.
STL class.
#define GAUDI_API
Definition: Kernel.h:107
Helper functions to set/get the application return code.
Definition: __init__.py:1