The Gaudi Framework  v29r0 (ff2e7097)
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 {
16 public:
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 {
40 public:
41  virtual ~IDataHandleVisitor() = default;
42  virtual void visit( const IDataHandleHolder* ) = 0;
43 };
44 
45 #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:110