Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v28r2p1 (f1a77ff4)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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"
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:
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
#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
Data provider interface definition.
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
Definition of the basic interface.
Definition: IInterface.h:234
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
Generic data agent interface.
Opaque address interface definition.
#define GAUDI_API
Definition: Kernel.h:107
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30