The Gaudi Framework  v30r3 (a5ef0a68)
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 const DataObjIDColl& inputDataObjs() const = 0;
26  virtual const DataObjIDColl& outputDataObjs() const = 0;
27 
28  virtual void addDependency( const DataObjID&, const Gaudi::DataHandle::Mode& ) = 0;
29 
31 
32  virtual void declare( Gaudi::DataHandle& ) = 0;
33  virtual void renounce( Gaudi::DataHandle& ) = 0;
34 };
35 
37 {
38 public:
39  virtual ~IDataHandleVisitor() = default;
40  virtual void visit( const IDataHandleHolder* ) = 0;
41 };
42 
43 #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:104