| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IDataProviderSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IDATAPROVIDERSVC_H
2 #define GAUDIKERNEL_IDATAPROVIDERSVC_H
3
4 // Framework include files
5 #include "GaudiKernel/IInterface.h"
6
7 // C/C++ include files
8 #include <string>
9
10 // Forward declarations
11 class DataObject;
12 class IOpaqueAddress;
13 class IRegistry;
14 class DataStoreItem;
15
45 class GAUDI_API IDataProviderSvc: virtual public IInterface {
46 public:
48 DeclareInterfaceID(IDataProviderSvc,3,0);
49
50 enum { SEPARATOR = '/' };
51
59 virtual StatusCode registerObject(const std::string& fullPath,
60 DataObject* pObject) = 0;
61
70 virtual StatusCode registerObject(const std::string& parentPath,
71 const std::string& objectPath,
72 DataObject* pObject) = 0;
73
82 virtual StatusCode registerObject(const std::string& parentPath,
83 int item,
84 DataObject* pObject) = 0;
85
94 virtual StatusCode registerObject(DataObject* parentObj,
95 const std::string& objectPath,
96 DataObject* pObject) = 0;
97
106 virtual StatusCode registerObject(DataObject* parentObj,
107 int item,
108 DataObject* pObject) = 0;
109
123 virtual StatusCode unregisterObject(const std::string& fullPath) = 0;
124
139 virtual StatusCode unregisterObject(const std::string& parentPath,
140 const std::string& objPath) = 0;
141
156 virtual StatusCode unregisterObject(const std::string& parentPath,
157 int item) = 0;
158
172 virtual StatusCode unregisterObject(DataObject* pObject) = 0;
173
188 virtual StatusCode unregisterObject(DataObject* pParent,
189 const std::string& objPath) = 0;
190
205 virtual StatusCode unregisterObject(DataObject* pParent, int item) = 0;
206
217 virtual StatusCode retrieveObject(IRegistry* pDirectory,
218 const std::string& path,
219 DataObject*& pObject) = 0;
220
229 virtual StatusCode retrieveObject(const std::string& fullPath,
230 DataObject*& pObject) = 0;
231
242 virtual StatusCode retrieveObject(const std::string& parentPath,
243 const std::string& objectPath,
244 DataObject*& pObject) = 0;
245
256 virtual StatusCode retrieveObject(const std::string& parentPath,
257 int item, DataObject*& pObject) = 0;
258
269 virtual StatusCode retrieveObject(DataObject* parentObj,
270 const std::string& objectPath,
271 DataObject*& pObject) = 0;
272
283 virtual StatusCode retrieveObject(DataObject* parentObj,
284 int item,
285 DataObject*& pObject) = 0;
286
296 virtual StatusCode findObject(IRegistry* pDirectory,
297 const std::string& path,
298 DataObject*& pObject) = 0;
299
307 virtual StatusCode findObject(const std::string& fullPath,
308 DataObject*& pObject) = 0;
309
319 virtual StatusCode findObject(const std::string& parentPath,
320 const std::string& objectPath,
321 DataObject*& pObject) = 0;
322
331 virtual StatusCode findObject(const std::string& parentPath,
332 int item,
333 DataObject*& pObject) = 0;
334
344 virtual StatusCode findObject(DataObject* pNode,
345 const std::string& objectPath,
346 DataObject*& pObject) = 0;
347
356 virtual StatusCode findObject(DataObject* parentObj,
357 int item,
358 DataObject*& pObject) = 0;
359
365 virtual StatusCode updateObject(IRegistry* pDirectory) = 0;
366
373 virtual StatusCode updateObject(const std::string& fullPath) = 0;
374
381 virtual StatusCode updateObject(DataObject* toUpdate) = 0;
382
391 virtual StatusCode updateObject(const std::string& parentPath,
392 const std::string& updatePath) = 0;
393
402 virtual StatusCode updateObject(DataObject* pParent,
403 const std::string& updatePath) = 0;
404
409 virtual StatusCode addPreLoadItem(const DataStoreItem& item) = 0;
410
416 virtual StatusCode addPreLoadItem(const std::string& itemPath) = 0;
417
422 virtual StatusCode removePreLoadItem(const DataStoreItem& item) = 0;
423
428 virtual StatusCode removePreLoadItem(const std::string& itemPath) = 0;
429
433 virtual StatusCode resetPreLoad() = 0;
434
438 virtual StatusCode preLoad() = 0;
439
448 virtual StatusCode linkObject(IRegistry* from,
449 const std::string& objPath,
450 DataObject* toObj) = 0;
451
460 virtual StatusCode linkObject(const std::string& fromPath,
461 const std::string& objPath,
462 DataObject* toObj) = 0;
463
472 virtual StatusCode linkObject(DataObject* fromObj,
473 const std::string& objPath,
474 DataObject* toObj) = 0;
475
483 virtual StatusCode linkObject(const std::string& fullPath,
484 DataObject* toObj) = 0;
485
494 virtual StatusCode unlinkObject(IRegistry* from,
495 const std::string& objPath) = 0;
496
505 virtual StatusCode unlinkObject(const std::string& fromPath,
506 const std::string& objPath) = 0;
507
516 virtual StatusCode unlinkObject(DataObject* fromObj,
517 const std::string& objPath) = 0;
518
526 virtual StatusCode unlinkObject(const std::string& fullPath) = 0;
527
529 enum Status {
531 IDataProviderSvc_NO_ERROR = 1,
533 DOUBL_OBJ_PATH,
535 INVALID_OBJ_PATH,
537 INVALID_ROOT,
539 INVALID_OBJECT,
541 INVALID_PARENT,
543 OBJ_NOT_LOADED,
545 NO_DATA_LOADER,
547 INVALID_OBJ_ADDR,
549 DIR_NOT_EMPTY,
551 NO_MORE_LEVELS,
553 NO_ACCESS,
555 LAST
556 };
557
559 virtual ~IDataProviderSvc() {}
560 };
561
562 #endif // GAUDIKERNEL_IDATAPROVIDERSVC_H