The Gaudi Framework  v30r4 (9b837755)
IDataHandleHolder.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IDATAHANDLEHOLDER
2 #define GAUDIKERNEL_IDATAHANDLEHOLDER 1
3 
9 #include "GaudiKernel/SmartIF.h"
10 
11 class IDataProviderSvc;
12 
13 namespace Gaudi
14 {
15  inline namespace v1
16  {
17  class DataHandle;
18  }
19  namespace v2
20  {
21  class DataHandle;
22  }
23 }
24 
41 class GAUDI_API IDataHandleHolder : virtual public extend_interfaces<INamedInterface, IProperty>
42 {
44 
45 public:
47 
49  virtual SmartIF<IDataProviderSvc>& eventSvc() const = 0;
50 
52  virtual void registerDataHandle( Gaudi::v2::DataHandle& ) = 0;
53 
55  virtual void addDataDependency( const DataObjID&, AccessMode ) = 0;
56 
58  virtual const DataObjIDColl& dataDependencies( AccessMode ) const = 0;
59 
61  virtual void declare( Gaudi::v1::DataHandle& ) = 0;
62 
64  virtual void renounce( Gaudi::v1::DataHandle& ) = 0;
65 
66  // ---------------------------------------------------------------------------
67  // The following interfaces expose implementation details of the
68  // DataHandleHolderBase, and are only meant to be used by said implementation.
69  // Please refrain from using them elsewhere.
70  // ---------------------------------------------------------------------------
71 
73  virtual const DataObjIDColl* allDataDependencies() const = 0;
74 };
75 
76 #endif // !GAUDIKERNEL_IDATAHANDLEHOLDER
Gaudi::v2::DataHandle::AccessMode AccessMode
IDataHandleMetadata::AccessMode AccessMode
Definition: DataHandle.h:115
Data provider interface definition.
Entity which holds DataHandles and can track the associated data dependencies for the Scheduler...
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:13
Base class to be used to extend an interface.
Base class to all new-style data handles.
Definition: DataHandle.h:91
#define GAUDI_API
Definition: Kernel.h:71
Helper functions to set/get the application return code.
Definition: __init__.py:1