The Gaudi Framework
v30r4 (9b837755)
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
IDataHandleHolder.h
Go to the documentation of this file.
1
#ifndef GAUDIKERNEL_IDATAHANDLEHOLDER
2
#define GAUDIKERNEL_IDATAHANDLEHOLDER 1
3
4
#include "
GaudiKernel/DataHandle.h
"
5
#include "
GaudiKernel/DataObjID.h
"
6
#include "
GaudiKernel/IInterface.h
"
7
#include "
GaudiKernel/INamedInterface.h
"
8
#include "
GaudiKernel/IProperty.h
"
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
{
43
using
AccessMode
=
Gaudi::v2::DataHandle::AccessMode
;
44
45
public
:
46
DeclareInterfaceID
(
IDataHandleHolder
, 1, 0 );
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
SmartIF< IDataProviderSvc >
IDataHandleHolder::AccessMode
Gaudi::v2::DataHandle::AccessMode AccessMode
Definition:
IDataHandleHolder.h:43
DataObjID
Definition:
DataObjID.h:37
Gaudi::v2::DataHandle::AccessMode
IDataHandleMetadata::AccessMode AccessMode
Definition:
DataHandle.h:115
IDataProviderSvc
Data provider interface definition.
Definition:
IDataProviderSvc.h:43
INamedInterface.h
IDataHandleHolder
Entity which holds DataHandles and can track the associated data dependencies for the Scheduler...
Definition:
IDataHandleHolder.h:41
DeclareInterfaceID
#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
extend_interfaces
Base class to be used to extend an interface.
Definition:
extend_interfaces.h:5
SmartIF.h
Gaudi::v2::DataHandle
Base class to all new-style data handles.
Definition:
DataHandle.h:91
std::unordered_set< DataObjID, DataObjID_Hasher >
DataObjID.h
IProperty.h
Gaudi::v1::DataHandle
Definition:
DataHandle.h:34
DataHandle.h
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:71
IInterface.h
Gaudi
Helper functions to set/get the application return code.
Definition:
__init__.py:1
GaudiKernel
GaudiKernel
IDataHandleHolder.h
Generated on Fri Nov 2 2018 17:40:09 for The Gaudi Framework by
1.8.11