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 
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 
31  virtual const DataObjIDColl& inputDataObjs() const = 0;
32  virtual const DataObjIDColl& outputDataObjs() const = 0;
33 
35 
36 protected:
37  virtual void declareInput(Gaudi::DataHandle*) = 0;
38  virtual void declareOutput(Gaudi::DataHandle*) = 0;
39 
40 };
41 
43 public:
44  virtual ~IDataHandleVisitor() {}
45  virtual void visit(const IDataHandleHolder*) = 0;
46 };
47 
48 #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
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()