| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

IDataManagerSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IDATAMANAGERSVC_H
2 #define GAUDIKERNEL_IDATAMANAGERSVC_H
3
4 // Include files
5 #include <string>
6 #include <vector>
7 #include "GaudiKernel/ClassID.h"
8 #include "GaudiKernel/IInterface.h"
9
10 // Forward declarations
11 // Generic interface to data object class
12 class DataObject;
13 // Interface to persistency service
14 class IConversionSvc;
15 // Data agent
16 class IDataStoreAgent;
17 // Opaque addresses
18 class IOpaqueAddress;
19 // Registry entry definition
20 class IRegistry;
21 // Data provider svc
22 class IDataProviderSvc;
23
45 class GAUDI_API IDataManagerSvc: virtual public IInterface {
46 public:
48 DeclareInterfaceID(IDataManagerSvc,3,0);
49
51 virtual CLID rootCLID() const = 0;
52
54 virtual const std::string& rootName() const = 0;
55
62 virtual StatusCode setDataLoader( IConversionSvc* svc,
63 IDataProviderSvc* dpsvc = nullptr ) = 0;
64
71 virtual StatusCode objectParent( const DataObject* pObject,
72 IRegistry*& refpParent) = 0;
73
80 virtual StatusCode objectParent( const IRegistry* pRegistry,
81 IRegistry*& refpParent) = 0;
82
91 virtual StatusCode objectLeaves( const DataObject* pObject,
92 std::vector<IRegistry*>& refLeaves) = 0;
93
102 virtual StatusCode objectLeaves( const IRegistry* pRegistry,
103 std::vector<IRegistry*>& refLeaves) = 0;
104
109 virtual StatusCode clearSubTree ( const std::string& sub_path ) = 0;
110
116 virtual StatusCode clearSubTree( DataObject* pObject ) = 0;
117
121 virtual StatusCode clearStore() = 0;
122
127 virtual StatusCode traverseSubTree( const std::string& sub_path,
128 IDataStoreAgent* pAgent ) = 0;
129
136 virtual StatusCode traverseSubTree( DataObject* pObject,
137 IDataStoreAgent* pAgent ) = 0;
138
142 virtual StatusCode traverseTree( IDataStoreAgent* pAgent) = 0;
143
150 virtual StatusCode setRoot( std::string root_name,
151 DataObject* pObject ) = 0;
152
159 virtual StatusCode setRoot( std::string root_path,
160 IOpaqueAddress* pRootAddr) = 0;
161
169 virtual StatusCode registerAddress( const std::string& fullPath,
170 IOpaqueAddress* pAddress) = 0;
171
180 virtual StatusCode registerAddress( DataObject* parentObj,
181 const std::string& objectPath,
182 IOpaqueAddress* pAddress) = 0;
183
192 virtual StatusCode registerAddress( IRegistry* parentObj,
193 const std::string& objectPath,
194 IOpaqueAddress* pAddress) = 0;
195
201 virtual StatusCode unregisterAddress(const std::string& fullPath) = 0;
202
210 virtual StatusCode unregisterAddress(DataObject* pParent,
211 const std::string& objPath) = 0;
212
220 virtual StatusCode unregisterAddress(IRegistry* pParent, const std::string& objPath) = 0;
221 };
222
223 #endif // GAUDIKERNEL_IDATAMANAGERSVC_H
ClassID.h
IConversionSvc
Definition: IConversionSvc.h:37
IDataProviderSvc
Data provider interface definition.
Definition: IDataProviderSvc.h:45
std::string
STL class.
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
IInterface
Definition of the basic interface.
Definition: IInterface.h:234
IRegistry
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
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:14
std::vector< IRegistry * >
IDataStoreAgent
Generic data agent interface.
Definition: IDataStoreAgent.h:16
IDataManagerSvc
Definition: IDataManagerSvc.h:45
IOpaqueAddress
Opaque address interface definition.
Definition: IOpaqueAddress.h:23
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
IInterface.h