| The Gaudi Framework v30r0 (c919700c)

- 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 "GaudiKernel/ClassID.h"
6 #include "GaudiKernel/IInterface.h"
7 #include "boost/utility/string_ref.hpp"
8 #include <string>
9 #include <vector>
10
11 // Forward declarations
12 // Generic interface to data object class
13 class DataObject;
14 // Interface to persistency service
15 class IConversionSvc;
16 // Data agent
17 class IDataStoreAgent;
18 // Opaque addresses
19 class IOpaqueAddress;
20 // Registry entry definition
21 class IRegistry;
22 // Data provider svc
23 class IDataProviderSvc;
24
46 struct GAUDI_API IDataManagerSvc : extend_interfaces<IInterface> {
48 DeclareInterfaceID( IDataManagerSvc, 4, 0 );
49
51 virtual CLID rootCLID() const = 0;
52
54 virtual const std::string& rootName() const = 0;
55
62 virtual StatusCode setDataLoader( IConversionSvc* svc, IDataProviderSvc* dpsvc = nullptr ) = 0;
63
70 virtual StatusCode objectParent( const DataObject* pObject, IRegistry*& refpParent ) = 0;
71
78 virtual StatusCode objectParent( const IRegistry* pRegistry, IRegistry*& refpParent ) = 0;
79
88 virtual StatusCode objectLeaves( const DataObject* pObject, std::vector<IRegistry*>& refLeaves ) = 0;
89
98 virtual StatusCode objectLeaves( const IRegistry* pRegistry, std::vector<IRegistry*>& refLeaves ) = 0;
99
104 virtual StatusCode clearSubTree( boost::string_ref sub_path ) = 0;
105
111 virtual StatusCode clearSubTree( DataObject* pObject ) = 0;
112
116 virtual StatusCode clearStore() = 0;
117
122 virtual StatusCode traverseSubTree( boost::string_ref sub_path, IDataStoreAgent* pAgent ) = 0;
123
130 virtual StatusCode traverseSubTree( DataObject* pObject, IDataStoreAgent* pAgent ) = 0;
131
135 virtual StatusCode traverseTree( IDataStoreAgent* pAgent ) = 0;
136
143 virtual StatusCode setRoot( std::string root_name, DataObject* pObject ) = 0;
144
151 virtual StatusCode setRoot( std::string root_path, IOpaqueAddress* pRootAddr ) = 0;
152
160 virtual StatusCode registerAddress( boost::string_ref fullPath, IOpaqueAddress* pAddress ) = 0;
161
170 virtual StatusCode registerAddress( DataObject* parentObj, boost::string_ref objectPath,
171 IOpaqueAddress* pAddress ) = 0;
172
181 virtual StatusCode registerAddress( IRegistry* parentObj, boost::string_ref objectPath,
182 IOpaqueAddress* pAddress ) = 0;
183
189 virtual StatusCode unregisterAddress( boost::string_ref fullPath ) = 0;
190
198 virtual StatusCode unregisterAddress( DataObject* pParent, boost::string_ref objPath ) = 0;
199
207 virtual StatusCode unregisterAddress( IRegistry* pParent, boost::string_ref objPath ) = 0;
208 };
209
210 #endif // GAUDIKERNEL_IDATAMANAGERSVC_H
ClassID.h
IConversionSvc
Definition: IConversionSvc.h:37
IDataManagerSvc
Definition: IDataManagerSvc.h:46
IDataProviderSvc
Data provider interface definition.
Definition: IDataProviderSvc.h:46
std::string
STL class.
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
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:11
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
std::vector< IRegistry * >
IDataStoreAgent
Generic data agent interface.
Definition: IDataStoreAgent.h:16
IOpaqueAddress
Opaque address interface definition.
Definition: IOpaqueAddress.h:23
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:110
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
IInterface.h