| The Gaudi Framework v29r0 (ff2e7097)

- 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 <string>
8 #include <vector>
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 {
47 public:
49 DeclareInterfaceID( IDataManagerSvc, 3, 0 );
50
52 virtual CLID rootCLID() const = 0;
53
55 virtual const std::string& rootName() const = 0;
56
63 virtual StatusCode setDataLoader( IConversionSvc* svc, IDataProviderSvc* dpsvc = nullptr ) = 0;
64
71 virtual StatusCode objectParent( const DataObject* pObject, IRegistry*& refpParent ) = 0;
72
79 virtual StatusCode objectParent( const IRegistry* pRegistry, IRegistry*& refpParent ) = 0;
80
89 virtual StatusCode objectLeaves( const DataObject* pObject, std::vector<IRegistry*>& refLeaves ) = 0;
90
99 virtual StatusCode objectLeaves( const IRegistry* pRegistry, std::vector<IRegistry*>& refLeaves ) = 0;
100
105 virtual StatusCode clearSubTree( const std::string& sub_path ) = 0;
106
112 virtual StatusCode clearSubTree( DataObject* pObject ) = 0;
113
117 virtual StatusCode clearStore() = 0;
118
123 virtual StatusCode traverseSubTree( const std::string& sub_path, IDataStoreAgent* pAgent ) = 0;
124
131 virtual StatusCode traverseSubTree( DataObject* pObject, IDataStoreAgent* pAgent ) = 0;
132
136 virtual StatusCode traverseTree( IDataStoreAgent* pAgent ) = 0;
137
144 virtual StatusCode setRoot( std::string root_name, DataObject* pObject ) = 0;
145
152 virtual StatusCode setRoot( std::string root_path, IOpaqueAddress* pRootAddr ) = 0;
153
161 virtual StatusCode registerAddress( const std::string& fullPath, IOpaqueAddress* pAddress ) = 0;
162
171 virtual StatusCode registerAddress( DataObject* parentObj, const std::string& objectPath,
172 IOpaqueAddress* pAddress ) = 0;
173
182 virtual StatusCode registerAddress( IRegistry* parentObj, const std::string& objectPath,
183 IOpaqueAddress* pAddress ) = 0;
184
190 virtual StatusCode unregisterAddress( const std::string& fullPath ) = 0;
191
199 virtual StatusCode unregisterAddress( DataObject* pParent, const std::string& objPath ) = 0;
200
208 virtual StatusCode unregisterAddress( IRegistry* pParent, const std::string& objPath ) = 0;
209 };
210
211 #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:28
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
IInterface
Definition of the basic interface.
Definition: IInterface.h:277
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
IDataManagerSvc
Definition: IDataManagerSvc.h:45
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:29
IInterface.h