| The Gaudi Framework v27r1

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

- File List
- File Members

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 ~IDataProviderSvc() override = default;
560 };
561
562 #endif // GAUDIKERNEL_IDATAPROVIDERSVC_H
IDataProviderSvc::DOUBL_OBJ_PATH
The path for this objects is already in use.
Definition: IDataProviderSvc.h:533
SEPARATOR
constexpr char SEPARATOR
Definition: RegistryEntry.cpp:41
IDataProviderSvc::NO_MORE_LEVELS
Automatic data loading had to stop: maximum depth.
Definition: IDataProviderSvc.h:551
IDataProviderSvc::INVALID_OBJ_ADDR
Invalid object address.
Definition: IDataProviderSvc.h:547
IDataProviderSvc::INVALID_ROOT
Invalid root path object cannot be retrieved or stored.
Definition: IDataProviderSvc.h:537
IDataProviderSvc::NO_DATA_LOADER
No data loader available.
Definition: IDataProviderSvc.h:545
IDataProviderSvc::OBJ_NOT_LOADED
Sorry, the requested object is not loaded.
Definition: IDataProviderSvc.h:543
IDataProviderSvc::NO_ACCESS
Access to the requested leaf is inhibited.
Definition: IDataProviderSvc.h:553
IDataProviderSvc
Data provider interface definition.
Definition: IDataProviderSvc.h:45
DataStoreItem
Description of the DataStoreItem class.
Definition: DataStoreItem.h:17
std::string
STL class.
IDataProviderSvc::DIR_NOT_EMPTY
Directory entry is NOT empty.
Definition: IDataProviderSvc.h:549
IDataProviderSvc::Status
Status
Status code definitions.
Definition: IDataProviderSvc.h:529
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
IInterface
Definition of the basic interface.
Definition: IInterface.h:234
IRegistry
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
Gaudi::Utils::Histos::path
GAUDI_API std::string path(const AIDA::IBaseHistogram *aida)
get the path in THS for AIDA histogram
Definition: HistoTableFormat.cpp:191
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:14
IDataProviderSvc::INVALID_PARENT
Pointer to parent object is not valid.
Definition: IDataProviderSvc.h:541
IDataProviderSvc::INVALID_OBJECT
Object pointer is invalid.
Definition: IDataProviderSvc.h:539
ana.item
tuple item
print s1,s2
Definition: ana.py:146
IDataProviderSvc::INVALID_OBJ_PATH
Invalid path from root to object request failed.
Definition: IDataProviderSvc.h:535
IOpaqueAddress
Opaque address interface definition.
Definition: IOpaqueAddress.h:23
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
IInterface.h