| The Gaudi Framework v29r0 (ff2e7097)

- 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 {
47 public:
49 DeclareInterfaceID( IDataProviderSvc, 3, 0 );
50
51 enum { SEPARATOR = '/' };
52
60 virtual StatusCode registerObject( const std::string& fullPath, DataObject* pObject ) = 0;
61
70 virtual StatusCode registerObject( const std::string& parentPath, const std::string& objectPath,
71 DataObject* pObject ) = 0;
72
81 virtual StatusCode registerObject( const std::string& parentPath, int item, DataObject* pObject ) = 0;
82
91 virtual StatusCode registerObject( DataObject* parentObj, const std::string& objectPath, DataObject* pObject ) = 0;
92
101 virtual StatusCode registerObject( DataObject* parentObj, int item, DataObject* pObject ) = 0;
102
116 virtual StatusCode unregisterObject( const std::string& fullPath ) = 0;
117
132 virtual StatusCode unregisterObject( const std::string& parentPath, const std::string& objPath ) = 0;
133
148 virtual StatusCode unregisterObject( const std::string& parentPath, int item ) = 0;
149
163 virtual StatusCode unregisterObject( DataObject* pObject ) = 0;
164
179 virtual StatusCode unregisterObject( DataObject* pParent, const std::string& objPath ) = 0;
180
195 virtual StatusCode unregisterObject( DataObject* pParent, int item ) = 0;
196
207 virtual StatusCode retrieveObject( IRegistry* pDirectory, const std::string& path, DataObject*& pObject ) = 0;
208
217 virtual StatusCode retrieveObject( const std::string& fullPath, DataObject*& pObject ) = 0;
218
229 virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objectPath,
230 DataObject*& pObject ) = 0;
231
242 virtual StatusCode retrieveObject( const std::string& parentPath, int item, DataObject*& pObject ) = 0;
243
254 virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objectPath, DataObject*& pObject ) = 0;
255
266 virtual StatusCode retrieveObject( DataObject* parentObj, int item, DataObject*& pObject ) = 0;
267
277 virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, DataObject*& pObject ) = 0;
278
286 virtual StatusCode findObject( const std::string& fullPath, DataObject*& pObject ) = 0;
287
297 virtual StatusCode findObject( const std::string& parentPath, const std::string& objectPath,
298 DataObject*& pObject ) = 0;
299
308 virtual StatusCode findObject( const std::string& parentPath, int item, DataObject*& pObject ) = 0;
309
319 virtual StatusCode findObject( DataObject* pNode, const std::string& objectPath, DataObject*& pObject ) = 0;
320
329 virtual StatusCode findObject( DataObject* parentObj, int item, DataObject*& pObject ) = 0;
330
336 virtual StatusCode updateObject( IRegistry* pDirectory ) = 0;
337
344 virtual StatusCode updateObject( const std::string& fullPath ) = 0;
345
352 virtual StatusCode updateObject( DataObject* toUpdate ) = 0;
353
362 virtual StatusCode updateObject( const std::string& parentPath, const std::string& updatePath ) = 0;
363
372 virtual StatusCode updateObject( DataObject* pParent, const std::string& updatePath ) = 0;
373
378 virtual StatusCode addPreLoadItem( const DataStoreItem& item ) = 0;
379
385 virtual StatusCode addPreLoadItem( const std::string& itemPath ) = 0;
386
391 virtual StatusCode removePreLoadItem( const DataStoreItem& item ) = 0;
392
397 virtual StatusCode removePreLoadItem( const std::string& itemPath ) = 0;
398
402 virtual StatusCode resetPreLoad() = 0;
403
407 virtual StatusCode preLoad() = 0;
408
417 virtual StatusCode linkObject( IRegistry* from, const std::string& objPath, DataObject* toObj ) = 0;
418
427 virtual StatusCode linkObject( const std::string& fromPath, const std::string& objPath, DataObject* toObj ) = 0;
428
437 virtual StatusCode linkObject( DataObject* fromObj, const std::string& objPath, DataObject* toObj ) = 0;
438
446 virtual StatusCode linkObject( const std::string& fullPath, DataObject* toObj ) = 0;
447
456 virtual StatusCode unlinkObject( IRegistry* from, const std::string& objPath ) = 0;
457
466 virtual StatusCode unlinkObject( const std::string& fromPath, const std::string& objPath ) = 0;
467
476 virtual StatusCode unlinkObject( DataObject* fromObj, const std::string& objPath ) = 0;
477
485 virtual StatusCode unlinkObject( const std::string& fullPath ) = 0;
486
488 enum Status {
490 IDataProviderSvc_NO_ERROR = 1,
492 DOUBL_OBJ_PATH,
494 INVALID_OBJ_PATH,
496 INVALID_ROOT,
498 INVALID_OBJECT,
500 INVALID_PARENT,
502 OBJ_NOT_LOADED,
504 NO_DATA_LOADER,
506 INVALID_OBJ_ADDR,
508 DIR_NOT_EMPTY,
510 NO_MORE_LEVELS,
512 NO_ACCESS,
514 LAST
515 };
516 };
517
518 #endif // GAUDIKERNEL_IDATAPROVIDERSVC_H
IDataProviderSvc::DOUBL_OBJ_PATH
The path for this objects is already in use.
Definition: IDataProviderSvc.h:492
GaudiPython.HistoUtils.path
path
Definition: HistoUtils.py:895
SEPARATOR
constexpr char SEPARATOR
Definition: RegistryEntry.cpp:40
IDataProviderSvc::NO_MORE_LEVELS
Automatic data loading had to stop: maximum depth.
Definition: IDataProviderSvc.h:510
IDataProviderSvc::INVALID_OBJ_ADDR
Invalid object address.
Definition: IDataProviderSvc.h:506
IDataProviderSvc::INVALID_ROOT
Invalid root path object cannot be retrieved or stored.
Definition: IDataProviderSvc.h:496
IDataProviderSvc::NO_DATA_LOADER
No data loader available.
Definition: IDataProviderSvc.h:504
IDataProviderSvc::OBJ_NOT_LOADED
Sorry, the requested object is not loaded.
Definition: IDataProviderSvc.h:502
IDataProviderSvc::NO_ACCESS
Access to the requested leaf is inhibited.
Definition: IDataProviderSvc.h:512
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:508
IDataProviderSvc::Status
Status
Status code definitions.
Definition: IDataProviderSvc.h:488
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
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:13
IInterface
Definition of the basic interface.
Definition: IInterface.h:277
IRegistry
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
IDataProviderSvc::INVALID_PARENT
Pointer to parent object is not valid.
Definition: IDataProviderSvc.h:500
IDataProviderSvc::INVALID_OBJECT
Object pointer is invalid.
Definition: IDataProviderSvc.h:498
IDataProviderSvc::INVALID_OBJ_PATH
Invalid path from root to object request failed.
Definition: IDataProviderSvc.h:494
IOpaqueAddress
Opaque address interface definition.
Definition: IOpaqueAddress.h:23
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:110
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29
IInterface.h