Gaudi Framework, version v23r5

Home   Generated: Wed Nov 28 2012
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DataSvc.h
Go to the documentation of this file.
1 // $Id: DataSvc.h,v 1.14 2006/11/30 14:43:13 mato Exp $
2 #ifndef GAUDIKERNEL_DATASVC_H
3 #define GAUDIKERNEL_DATASVC_H
4 
5 // Include files
6 #include "GaudiKernel/Service.h"
10 
11 // Forward declarations
12 // Incident service
13 class IIncidentSvc;
14 // Generic address
15 class IOpaqueAddress;
16 // Generic interface to data object class
17 class DataObject;
18 // Data store agent
19 class IDataStoreAgent;
20 // Service factory
21 template <class TYPE> class SvcFactory;
22 
23 // Do not clutter global namespace for helpers...
24 namespace DataSvcHelpers {
25  // Map of objects where loading is inhibited
26  class InhibitMap;
27  // Generic registry entry
28  class RegistryEntry;
29 }
30 
31 
42 class GAUDI_API DataSvc: public extends2<Service, IDataProviderSvc, IDataManagerSvc>
43 {
45  friend class SvcFactory<DataSvc>;
46 
47 public:
50 
51 protected:
71  DataSvcHelpers::InhibitMap* m_inhibitMap;
78 public:
79 
81  virtual CLID rootCLID() const;
82 
84  virtual std::string rootName() const;
85 
87  virtual StatusCode registerAddress( const std::string& fullPath,
88  IOpaqueAddress* pAddress);
89 
91  virtual StatusCode registerAddress( DataObject* parentObj,
92  const std::string& objectPath,
93  IOpaqueAddress* pAddress);
94 
96  virtual StatusCode registerAddress( IRegistry* parentObj,
97  const std::string& objectPath,
98  IOpaqueAddress* pAddress);
99 
101  virtual StatusCode unregisterAddress(const std::string& fullPath);
102 
104  virtual StatusCode unregisterAddress( DataObject* pParent,
105  const std::string& objPath);
106 
108  virtual StatusCode unregisterAddress( IRegistry* pParent,
109  const std::string& objPath);
110 
114  virtual StatusCode objectLeaves( const DataObject* pObject,
115  std::vector<IRegistry*>& refLeaves);
119  virtual StatusCode objectLeaves( const IRegistry* pRegistry,
120  std::vector<IRegistry*>& refLeaves);
121 
123  virtual StatusCode objectParent( const DataObject* pObject,
124  IRegistry*& refpParent);
126  virtual StatusCode objectParent( const IRegistry* pRegistry,
127  IRegistry*& refpParent);
128 
132  virtual StatusCode clearSubTree( const std::string& sub_tree_path );
133 
137  virtual StatusCode clearSubTree( DataObject* pObject );
138 
140  virtual StatusCode clearStore();
141 
145  virtual StatusCode traverseSubTree( const std::string& sub_tree_path,
146  IDataStoreAgent* pAgent );
147 
149  virtual StatusCode traverseSubTree( DataObject* pObject,
150  IDataStoreAgent* pAgent );
151 
153  virtual StatusCode traverseTree( IDataStoreAgent* pAgent );
154 
157  virtual StatusCode setRoot( const std::string& root_name,
158  DataObject* pRootObj);
159 
163  virtual StatusCode i_setRoot( const std::string& root_name,
164  DataObject* pRootObj);
165 
168  virtual StatusCode setRoot (const std::string& root_path,
169  IOpaqueAddress* pRootAddr);
170 
175  virtual StatusCode i_setRoot (const std::string& root_path,
176  IOpaqueAddress* pRootAddr);
177 
181  virtual StatusCode setDataLoader( IConversionSvc* svc );
182 
184  virtual StatusCode addPreLoadItem( const DataStoreItem& item );
185 
187  virtual StatusCode addPreLoadItem( const std::string& itemPath );
188 
190  virtual StatusCode removePreLoadItem( const DataStoreItem& item );
191 
193  virtual StatusCode removePreLoadItem( const std::string& itemPath );
194 
196  virtual StatusCode resetPreLoad();
197 
205  virtual StatusCode preLoad( int depth,
206  int load_depth,
207  DataObject* pObject );
208 
210  virtual StatusCode preLoad();
211 
213  virtual StatusCode registerObject( const std::string& fullPath,
214  DataObject* pObject );
215 
217  virtual StatusCode registerObject( const std::string& parentPath,
218  const std::string& objPath,
219  DataObject* pObject );
220 
222  virtual StatusCode registerObject( const std::string& parentPath,
223  int item,
224  DataObject* pObject );
225 
227  virtual StatusCode registerObject( DataObject* parentObj,
228  const std::string& objPath,
229  DataObject* pObject );
230 
232  virtual StatusCode registerObject( DataObject* parentObj,
233  int item,
234  DataObject* pObject );
235 
237  virtual StatusCode unregisterObject(const std::string& fullPath );
238 
240  virtual StatusCode unregisterObject(const std::string& parentPath,
241  const std::string& objectPath );
242 
244  virtual StatusCode unregisterObject(const std::string& parentPath,
245  int item );
246 
248  virtual StatusCode unregisterObject(DataObject* pObject );
249 
251  virtual StatusCode unregisterObject(DataObject* pObject,
252  const std::string& objectPath );
253 
255  virtual StatusCode unregisterObject(DataObject* pObject,
256  int item );
257 
259  virtual StatusCode retrieveObject( IRegistry* pDirectory,
260  const std::string& path,
261  DataObject*& pObject );
262 
264  virtual StatusCode retrieveObject( const std::string& fullPath,
265  DataObject*& pObject );
266 
268  virtual StatusCode retrieveObject( const std::string& parentPath,
269  const std::string& objPath,
270  DataObject*& pObject );
271 
273  virtual StatusCode retrieveObject( const std::string& parentPath,
274  int item,
275  DataObject*& pObject );
276 
278  virtual StatusCode retrieveObject( DataObject* parentObj,
279  const std::string& objPath,
280  DataObject*& pObject );
281 
283  virtual StatusCode retrieveObject( DataObject* parentObj,
284  int item,
285  DataObject*& pObject );
286 
288  virtual StatusCode findObject( const std::string& fullPath,
289  DataObject*& pObject );
290 
292  virtual StatusCode findObject( IRegistry* pDirectory,
293  const std::string& path,
294  DataObject*& pObject );
295 
297  virtual StatusCode findObject( const std::string& parentPath,
298  const std::string& objPath,
299  DataObject*& pObject );
300 
302  virtual StatusCode findObject( const std::string& parentPath,
303  int item,
304  DataObject*& pObject );
305 
307  virtual StatusCode findObject( DataObject* parentObj,
308  const std::string& objPath,
309  DataObject*& pObject );
310 
312  virtual StatusCode findObject( DataObject* parentObj,
313  int item,
314  DataObject*& pObject );
315 
317  virtual StatusCode linkObject( IRegistry* from,
318  const std::string& objPath,
319  DataObject* to );
320 
322  virtual StatusCode linkObject( const std::string& fromPath,
323  const std::string& objPath,
324  DataObject* to );
325 
327  virtual StatusCode linkObject( DataObject* from,
328  const std::string& objPath,
329  DataObject* to );
330 
332  virtual StatusCode linkObject( const std::string& fullPath,
333  DataObject* to );
334 
336  virtual StatusCode unlinkObject(IRegistry* from,
337  const std::string& objPath );
338 
340  virtual StatusCode unlinkObject(const std::string& fromPath,
341  const std::string& objPath );
342 
344  virtual StatusCode unlinkObject(DataObject* fromObj,
345  const std::string& objPath );
346 
348  virtual StatusCode unlinkObject(const std::string& fullPath );
349 
351  virtual StatusCode updateObject(IRegistry* pDirectory );
352 
354  virtual StatusCode updateObject(const std::string& updatePath );
355 
357  virtual StatusCode updateObject(DataObject* toUpdate );
358 
360  virtual StatusCode updateObject(const std::string& parentPath,
361  const std::string& updatePath );
362 
364  virtual StatusCode updateObject(DataObject* pParent,
365  const std::string& updatePath );
366 
368  virtual StatusCode initialize();
369 
371  virtual StatusCode reinitialize();
372 
374  virtual StatusCode finalize();
375 
377  DataSvc( const std::string& name, ISvcLocator* svc );
378 
380  virtual ~DataSvc();
381 
382 private:
384  DataSvc(const DataSvc&);
386  DataSvc& operator= (const DataSvc&);
387 
388 protected:
390  bool checkRoot() {
391  return 0 != m_root;
392  }
393 
397  virtual IConversionSvc* getDataLoader(IRegistry* pReg);
398 
400  virtual DataObject* createDefaultObject() const;
401 
405  virtual StatusCode loadObject( IRegistry* pNode );
406 
410  virtual StatusCode loadObject( IConversionSvc* pLoader,
411  IRegistry* pNode );
412 
414  StatusCode retrieveEntry( DataSvcHelpers::RegistryEntry* pNode,
415  const std::string& path,
423  DataObject* handleDataFault(IRegistry* pReg, const std::string& path="");
424 };
425 #endif // GAUDIKERNEL_DATASVC_H
426 

Generated at Wed Nov 28 2012 12:17:12 for Gaudi Framework, version v23r5 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004