All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IDataManagerSvc.h
Go to the documentation of this file.
1 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/IDataManagerSvc.h,v 1.6 2001/11/20 11:15:52 mato Exp $
2 #ifndef GAUDIKERNEL_IDATAMANAGERSVC_H
3 #define GAUDIKERNEL_IDATAMANAGERSVC_H
4 
5 // Include files
6 #include <string>
7 #include <vector>
8 #include "GaudiKernel/ClassID.h"
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 
44 class GAUDI_API IDataManagerSvc: virtual public IInterface {
45 public:
48 
50  virtual CLID rootCLID() const = 0;
51 
53  virtual std::string rootName() const = 0;
54 
60  virtual StatusCode setDataLoader( IConversionSvc* svc ) = 0;
61 
68  virtual StatusCode objectParent( const DataObject* pObject,
69  IRegistry*& refpParent) = 0;
70 
77  virtual StatusCode objectParent( const IRegistry* pRegistry,
78  IRegistry*& refpParent) = 0;
79 
88  virtual StatusCode objectLeaves( const DataObject* pObject,
89  std::vector<IRegistry*>& refLeaves) = 0;
90 
99  virtual StatusCode objectLeaves( const IRegistry* pRegistry,
100  std::vector<IRegistry*>& refLeaves) = 0;
101 
106  virtual StatusCode clearSubTree ( const std::string& sub_path ) = 0;
107 
113  virtual StatusCode clearSubTree( DataObject* pObject ) = 0;
114 
118  virtual StatusCode clearStore() = 0;
119 
124  virtual StatusCode traverseSubTree( const std::string& sub_path,
125  IDataStoreAgent* pAgent ) = 0;
126 
133  virtual StatusCode traverseSubTree( DataObject* pObject,
134  IDataStoreAgent* pAgent ) = 0;
135 
139  virtual StatusCode traverseTree( IDataStoreAgent* pAgent) = 0;
140 
147  virtual StatusCode setRoot( const std::string& root_name,
148  DataObject* pObject ) = 0;
149 
156  virtual StatusCode setRoot( const std::string& root_path,
157  IOpaqueAddress* pRootAddr) = 0;
158 
166  virtual StatusCode registerAddress( const std::string& fullPath,
167  IOpaqueAddress* pAddress) = 0;
168 
177  virtual StatusCode registerAddress( DataObject* parentObj,
178  const std::string& objectPath,
179  IOpaqueAddress* pAddress) = 0;
180 
189  virtual StatusCode registerAddress( IRegistry* parentObj,
190  const std::string& objectPath,
191  IOpaqueAddress* pAddress) = 0;
192 
198  virtual StatusCode unregisterAddress(const std::string& fullPath) = 0;
199 
207  virtual StatusCode unregisterAddress(DataObject* pParent,
208  const std::string& objPath) = 0;
209 
217  virtual StatusCode unregisterAddress(IRegistry* pParent, const std::string& objPath) = 0;
218 };
219 
220 #endif // GAUDIKERNEL_IDATAMANAGERSVC_H
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
Definition of the basic interface.
Definition: IInterface.h:160
#define DeclareInterfaceID(name, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:23
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:9
Generic data agent interface.
Opaque address interface definition.
#define GAUDI_API
Definition: Kernel.h:108
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:31