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 <vector>
10 #include <set>
11 
12 class IDataHandleVisitor;
13 
15  public:
16 
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 
33 
34  virtual void declare(Gaudi::DataHandle&) = 0;
35  virtual void renounce(Gaudi::DataHandle&) = 0;
36 };
37 
39 public:
40  virtual ~IDataHandleVisitor() = default;
41  virtual void visit(const IDataHandleHolder*) = 0;
42 };
43 
44 #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:107