Gaudi Framework, version v22r2

Home   Generated: Tue May 10 2011
Public Types | Public Member Functions

IDataProviderSvc Class Reference

Data provider interface definition. More...

#include <GaudiKernel/IDataProviderSvc.h>

Inheritance diagram for IDataProviderSvc:
Inheritance graph
[legend]
Collaboration diagram for IDataProviderSvc:
Collaboration graph
[legend]

List of all members.

Public Types

enum  { SEPARATOR = '/' }
enum  Status {
  IDataProviderSvc_NO_ERROR = 1, DOUBL_OBJ_PATH, INVALID_OBJ_PATH, INVALID_ROOT,
  INVALID_OBJECT, INVALID_PARENT, OBJ_NOT_LOADED, NO_DATA_LOADER,
  INVALID_OBJ_ADDR, DIR_NOT_EMPTY, NO_MORE_LEVELS, NO_ACCESS,
  LAST
}
 

Status code definitions.

More...

Public Member Functions

 DeclareInterfaceID (IDataProviderSvc, 3, 0)
 InterfaceID.
virtual StatusCode registerObject (const std::string &fullPath, DataObject *pObject)=0
 Register object with the data store.
virtual StatusCode registerObject (const std::string &parentPath, const std::string &objectPath, DataObject *pObject)=0
 Register object with the data store.
virtual StatusCode registerObject (const std::string &parentPath, int item, DataObject *pObject)=0
 Register object with the data store.
virtual StatusCode registerObject (DataObject *parentObj, const std::string &objectPath, DataObject *pObject)=0
 Register object with the data store.
virtual StatusCode registerObject (DataObject *parentObj, int item, DataObject *pObject)=0
 Register object with the data store.
virtual StatusCode unregisterObject (const std::string &fullPath)=0
 Unregister object from the data store.
virtual StatusCode unregisterObject (const std::string &parentPath, const std::string &objPath)=0
 Unregister object from the data store.
virtual StatusCode unregisterObject (const std::string &parentPath, int item)=0
 Unregister object from the data store.
virtual StatusCode unregisterObject (DataObject *pObject)=0
 Unregister object from the data store.
virtual StatusCode unregisterObject (DataObject *pParent, const std::string &objPath)=0
 Unregister object from the data store.
virtual StatusCode unregisterObject (DataObject *pParent, int item)=0
 Unregister object from the data store.
virtual StatusCode retrieveObject (IRegistry *pDirectory, const std::string &path, DataObject *&pObject)=0
 Retrieve object identified by its directory entry.
virtual StatusCode retrieveObject (const std::string &fullPath, DataObject *&pObject)=0
 Retrieve object identified by its full path from the data store.
virtual StatusCode retrieveObject (const std::string &parentPath, const std::string &objectPath, DataObject *&pObject)=0
 Retrieve object from data store.
virtual StatusCode retrieveObject (const std::string &parentPath, int item, DataObject *&pObject)=0
 Retrieve object from data store.
virtual StatusCode retrieveObject (DataObject *parentObj, const std::string &objectPath, DataObject *&pObject)=0
 Retrieve object from data store.
virtual StatusCode retrieveObject (DataObject *parentObj, int item, DataObject *&pObject)=0
 Retrieve object from data store.
virtual StatusCode findObject (IRegistry *pDirectory, const std::string &path, DataObject *&pObject)=0
 Find object identified by its directory entry.
virtual StatusCode findObject (const std::string &fullPath, DataObject *&pObject)=0
 Find object identified by its full path in the data store.
virtual StatusCode findObject (const std::string &parentPath, const std::string &objectPath, DataObject *&pObject)=0
 Find object identified by its parent object and the path to the object relative to the parent.
virtual StatusCode findObject (const std::string &parentPath, int item, DataObject *&pObject)=0
 Find object identified by its parent object and an integer identifier in the data store.
virtual StatusCode findObject (DataObject *pNode, const std::string &objectPath, DataObject *&pObject)=0
 Find object identified by its parent object and the path to the object relative to the parent.
virtual StatusCode findObject (DataObject *parentObj, int item, DataObject *&pObject)=0
 Find object identified by its parent object and an integer identifier in the data store.
virtual StatusCode updateObject (IRegistry *pDirectory)=0
 Update object identified by its directory entry.
virtual StatusCode updateObject (const std::string &fullPath)=0
 Update object identified by its full path in the data store.
virtual StatusCode updateObject (DataObject *toUpdate)=0
 Update object identified by its pointer.
virtual StatusCode updateObject (const std::string &parentPath, const std::string &updatePath)=0
 Update object identified by its parent's path and the path relative to the parent.
virtual StatusCode updateObject (DataObject *pParent, const std::string &updatePath)=0
 Update object identified by its parent's pointer and the path relative to the parent.
virtual StatusCode addPreLoadItem (const DataStoreItem &item)=0
 Add an item to the preload list.
virtual StatusCode addPreLoadItem (const std::string &itemPath)=0
 Add an item to the preload list.
virtual StatusCode removePreLoadItem (const DataStoreItem &item)=0
 Remove an item from the preload list.
virtual StatusCode removePreLoadItem (const std::string &itemPath)=0
 Remove an item from the preload list.
virtual StatusCode resetPreLoad ()=0
 Clear the preload list.
virtual StatusCode preLoad ()=0
 Load all preload items of the list.
virtual StatusCode linkObject (IRegistry *from, const std::string &objPath, DataObject *toObj)=0
 Add a link to another object.
virtual StatusCode linkObject (const std::string &fromPath, const std::string &objPath, DataObject *toObj)=0
 Add a link to another object.
virtual StatusCode linkObject (DataObject *fromObj, const std::string &objPath, DataObject *toObj)=0
 Add a link to another object.
virtual StatusCode linkObject (const std::string &fullPath, DataObject *toObj)=0
 Add a link to another object.
virtual StatusCode unlinkObject (IRegistry *from, const std::string &objPath)=0
 Remove a link to another object.
virtual StatusCode unlinkObject (const std::string &fromPath, const std::string &objPath)=0
 Remove a link to another object.
virtual StatusCode unlinkObject (DataObject *fromObj, const std::string &objPath)=0
 Remove a link to another object.
virtual StatusCode unlinkObject (const std::string &fullPath)=0
 Remove a link to another object.

Detailed Description

Data provider interface definition.

The data provider interface allows to:

Author:
Markus Frank
Sebastien Ponce
Version:
1.2

Definition at line 46 of file IDataProviderSvc.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
SEPARATOR 

Definition at line 51 of file IDataProviderSvc.h.

{ SEPARATOR = '/' };

Status code definitions.

Enumerator:
IDataProviderSvc_NO_ERROR 

Success.

DOUBL_OBJ_PATH 

The path for this objects is already in use.

INVALID_OBJ_PATH 

Invalid path from root to object request failed.

INVALID_ROOT 

Invalid root path object cannot be retrieved or stored.

INVALID_OBJECT 

Object pointer is invalid.

INVALID_PARENT 

Pointer to parent object is not valid.

OBJ_NOT_LOADED 

Sorry, the requested object is not loaded.

NO_DATA_LOADER 

No data loader available.

INVALID_OBJ_ADDR 

Invalid object address.

DIR_NOT_EMPTY 

Directory entry is NOT empty.

NO_MORE_LEVELS 

Automatic data loading had to stop: maximum depth.

NO_ACCESS 

Access to the requested leaf is inhibited.

LAST 

Terminator.

Reimplemented from IInterface.

Definition at line 530 of file IDataProviderSvc.h.


Member Function Documentation

virtual StatusCode IDataProviderSvc::addPreLoadItem ( const DataStoreItem item ) [pure virtual]

Add an item to the preload list.

Parameters:
itemSpecs of item to be preloaded
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::addPreLoadItem ( const std::string itemPath ) [pure virtual]

Add an item to the preload list.

The item is identified by the path to the object.

Parameters:
itemPathPath to the item to be preloaded.
Returns:
Status code indicating success or failure.
IDataProviderSvc::DeclareInterfaceID ( IDataProviderSvc  ,
,
 
)
virtual StatusCode IDataProviderSvc::findObject ( IRegistry pDirectory,
const std::string path,
DataObject *&  pObject 
) [pure virtual]

Find object identified by its directory entry.

The result will be returned in the second argument. In case the object is not present the pointer will be set to NULL. ** FASTEST ACCESS TO THE DATA STORE **

Parameters:
pDirectoryPointer to the object.
pathString with relative path to directory. Ideally ""!
pObjectReference to the pointer of the object to be returned.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::findObject ( const std::string fullPath,
DataObject *&  pObject 
) [pure virtual]

Find object identified by its full path in the data store.

The result will be returned in the second argument. In case the object is not present the pointer will be set to NULL.

Parameters:
fullPathPath name of the object.
pObjectPointer to the object to be connected.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::findObject ( const std::string parentPath,
const std::string objectPath,
DataObject *&  pObject 
) [pure virtual]

Find object identified by its parent object and the path to the object relative to the parent.

The result will be returned in the second argument. In case the object is not present the pointer will be set to NULL.

Parameters:
parentPathPath to parent node of the object.
objectPathRelative path name of the object.
pObjectReference to the pointer of the object to be returned.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::findObject ( const std::string parentPath,
int  item,
DataObject *&  pObject 
) [pure virtual]

Find object identified by its parent object and an integer identifier in the data store.

In case the object is not present the pointer will be set to NULL.

Parameters:
parentPathPath to parent node of the object.
itemItem identifier.
pObjectReference to the pointer of the object to be returned.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::findObject ( DataObject pNode,
const std::string objectPath,
DataObject *&  pObject 
) [pure virtual]

Find object identified by its parent object and the path to the object relative to the parent.

The result will be returned in the second argument. In case the object is not present the pointer will be set to NULL.

Parameters:
parentObjPointer to parent node of the object.
objectPathRelative path name of the object.
pObjectReference to the pointer of the object to be returned.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::findObject ( DataObject parentObj,
int  item,
DataObject *&  pObject 
) [pure virtual]

Find object identified by its parent object and an integer identifier in the data store.

In case the object is not present the pointer will be set to NULL.

Parameters:
parentObjPointer to parent node of the object.
itemItem identifier.
pObjectReference to the pointer of the object to be returned.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::linkObject ( IRegistry from,
const std::string objPath,
DataObject toObj 
) [pure virtual]

Add a link to another object.

Both objects must already be registered with the data store. Once linked, the object can only be unregistered after unlinking.

Parameters:
fromPointer to data directory the link originates.
objPathPath of the entry to be linked relative to from.
toObjPointer to the object the link points to.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::linkObject ( const std::string fromPath,
const std::string objPath,
DataObject toObj 
) [pure virtual]

Add a link to another object.

Both objects must already be registered with the data store. Once linked, the object can only be unregistered after unlinking.

Parameters:
fromPathPath to the object the link originates.
objPathPath of the entry to be linked relative to from.
toObjPointer to the object the link points to.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::linkObject ( DataObject fromObj,
const std::string objPath,
DataObject toObj 
) [pure virtual]

Add a link to another object.

Both objects must already be registered with the data store. Once linked, the object can only be unregistered after unlinking.

Parameters:
fromObjPointer to the object the link originates.
objPathPath of the entry to be linked relative to from.
toObjPointer to the object the link points to.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::linkObject ( const std::string fullPath,
DataObject toObj 
) [pure virtual]

Add a link to another object.

Both objects must already be registered with the data store. Once linked, the object can only be unregistered after unlinking.

Parameters:
fullPathFull path of the entry to be linked.
toObjPointer to the object the link points to.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::preLoad (  ) [pure virtual]

Load all preload items of the list.

Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::registerObject ( const std::string fullPath,
DataObject pObject 
) [pure virtual]

Register object with the data store.

Connect the object identified by its pointer to the node object identified by its path.

Parameters:
fullPathPath to parent node of the object.
pObjectPointer to the object to be registered.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::registerObject ( const std::string parentPath,
int  item,
DataObject pObject 
) [pure virtual]

Register object with the data store.

Connect the object identified by its pointer to the parent object and an integer identifier.

Parameters:
parentPathPath to parent node of the object.
itemitem number of the object linked to the parent
pObjectPointer to the object to be registered.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::registerObject ( DataObject parentObj,
const std::string objectPath,
DataObject pObject 
) [pure virtual]

Register object with the data store.

Connect the object identified by its pointer to the parent object and the relative path of the object with respect to the parent.

Parameters:
parentObjPointer to parent object.
objectPathPath of the object relative to the parent node
pObjectPointer to the object to be connected.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::registerObject ( const std::string parentPath,
const std::string objectPath,
DataObject pObject 
) [pure virtual]

Register object with the data store.

Connect the object identified by the path to the parent object and the path of the object itself relative to the specified parent.

Parameters:
parentPathPath to parent node of the object.
objectPathPath of the object relative to the parent node
pObjectPointer to the object to be registered.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::registerObject ( DataObject parentObj,
int  item,
DataObject pObject 
) [pure virtual]

Register object with the data store.

Connect the object identified by its pointer to the node object identified by its pointer.

Parameters:
parentObjPointer to parent object.
itemitem number of the object linked to the parent
pObjectPointer to the object to be connected.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::removePreLoadItem ( const std::string itemPath ) [pure virtual]

Remove an item from the preload list.

Parameters:
itemPathPath to the item to be preloaded.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::removePreLoadItem ( const DataStoreItem item ) [pure virtual]

Remove an item from the preload list.

Parameters:
itemSpecs of item to be removed from the preload list
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::resetPreLoad (  ) [pure virtual]

Clear the preload list.

Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::retrieveObject ( DataObject parentObj,
const std::string objectPath,
DataObject *&  pObject 
) [pure virtual]

Retrieve object from data store.

The object to be retrieved is identified by the pointer to the parent object and the relative path with respect to the node. In case the object is not present it will be loaded and converted if possible.

Parameters:
parentObjPointer to parent node of the object.
objectPathPath of the object relative to the parent.
pObjectReference to the pointer of the object to be returned.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::retrieveObject ( const std::string parentPath,
int  item,
DataObject *&  pObject 
) [pure virtual]

Retrieve object from data store.

The object to be retrieved is identified by the path to the parent object and an integer identifier. In case the object is not present it will be loaded and converted if possible.

Parameters:
parentPathPath to parent node of the object.
itemItem identifier.
pObjectReference to the pointer of the object to be returned.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::retrieveObject ( DataObject parentObj,
int  item,
DataObject *&  pObject 
) [pure virtual]

Retrieve object from data store.

The object to be retrieved is identified by the pointer to the parent object and an integer identifier. In case the object is not present it will be loaded and converted if possible.

Parameters:
parentObjPointer to parent node of the object.
itemItem identifier.
pObjectReference to the pointer of the object to be returned.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::retrieveObject ( IRegistry pDirectory,
const std::string path,
DataObject *&  pObject 
) [pure virtual]

Retrieve object identified by its directory entry.

The result will be returned in the second argument. In case the object is not present it will be loaded and converted if possible. ** FASTEST ACCESS TO THE DATA STORE **

Parameters:
pDirectoryPointer to the object.
pathString with relative path to directory. Ideally ""!
pObjectReference to the pointer of the object to be returned.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::retrieveObject ( const std::string parentPath,
const std::string objectPath,
DataObject *&  pObject 
) [pure virtual]

Retrieve object from data store.

The object to be retrieved is identified by the path of the parent object and the relative path with respect to the node. In case the object is not present it will be loaded and converted if possible.

Parameters:
parentPathPath to parent node of the object.
objectPathPath of the object relative to the parent.
pObjectReference to the pointer of the object to be returned.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::retrieveObject ( const std::string fullPath,
DataObject *&  pObject 
) [pure virtual]

Retrieve object identified by its full path from the data store.

The result will be returned in the second argument. In case the object is not present it will be loaded and converted if possible.

Parameters:
fullPathPath name of the object.
pObjectReference to the pointer of the object to be returned.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::unlinkObject ( const std::string fullPath ) [pure virtual]

Remove a link to another object.

Both objects must be registered with the data store. This entry point can be used to unlink objects e.g. in order to unregister them.

Parameters:
fullPathFull path of the entry to be linked.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::unlinkObject ( DataObject fromObj,
const std::string objPath 
) [pure virtual]

Remove a link to another object.

Both objects must be registered with the data store. This entry point can be used to unlink objects e.g. in order to unregister them.

Parameters:
fromObjPointer to the object the link originates.
objPathPath of the entry to be linked relative to from.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::unlinkObject ( const std::string fromPath,
const std::string objPath 
) [pure virtual]

Remove a link to another object.

Both objects must be registered with the data store. This entry point can be used to unlink objects e.g. in order to unregister them.

Parameters:
fromPathPath to the object the link originates.
objPathPath of the entry to be linked relative to from.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::unlinkObject ( IRegistry from,
const std::string objPath 
) [pure virtual]

Remove a link to another object.

Both objects must be registered with the data store. This entry point can be used to unlink objects e.g. in order to unregister them.

Parameters:
fromPointer to data directory the link originates.
objPathPath of the entry to be linked relative to from.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::unregisterObject ( const std::string parentPath,
const std::string objPath 
) [pure virtual]

Unregister object from the data store.

On registration the client gives up ownership of the object and may no longer delete the object. unregistering the object is the opposite: ownership is claimed back by the user. But note:

  • All depending objects will be deleted, ie. all leaves "below" the entry in question; NOT the object itself, the object itself must be destroyed by the user.

The object is identified by parent path name and the path of the object relative to the parent.

Parameters:
parentPathPath name of the parent object.
objPathPath name of the object relative to the parent.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::unregisterObject ( DataObject pObject ) [pure virtual]

Unregister object from the data store.

On registration the client gives up ownership of the object and may no longer delete the object. unregistering the object is the opposite: ownership is claimed back by the user. But note:

  • All depending objects will be deleted, ie. all leaves "below" the entry in question; NOT the object itself, the object itself must be destroyed by the user.

The object is identified by its pointer. The object must previously have been registered with the data store.

Parameters:
pObjectPointer to the object.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::unregisterObject ( DataObject pParent,
const std::string objPath 
) [pure virtual]

Unregister object from the data store.

On registration the client gives up ownership of the object and may no longer delete the object. unregistering the object is the opposite: ownership is claimed back by the user. But note:

  • All depending objects will be deleted, ie. all leaves "below" the entry in question; NOT the object itself, the object itself must be destroyed by the user.

The object is identified by parent object and the path of the object relative to the parent.

Parameters:
pParentPointer to parent object.
objPathPath name of the object relative to the parent.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::unregisterObject ( const std::string parentPath,
int  item 
) [pure virtual]

Unregister object from the data store.

On registration the client gives up ownership of the object and may no longer delete the object. unregistering the object is the opposite: ownership is claimed back by the user. But note:

  • All depending objects will be deleted, ie. all leaves "below" the entry in question; NOT the object itself, the object itself must be destroyed by the user.

The object is identified by parent path name and an integer identifier of the object itself.

Parameters:
parentPathPath name of the parent object.
itemInteger identifier of the object item.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::unregisterObject ( DataObject pParent,
int  item 
) [pure virtual]

Unregister object from the data store.

On registration the client gives up ownership of the object and may no longer delete the object. unregistering the object is the opposite: ownership is claimed back by the user. But note:

  • All depending objects will be deleted, ie. all leaves "below" the entry in question; NOT the object itself, the object itself must be destroyed by the user.

The object is identified by parent object and an integer identifier of the object itself.

Parameters:
pParentPointer to parent object.
itemInteger identifier of the object item.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::unregisterObject ( const std::string fullPath ) [pure virtual]

Unregister object from the data store.

On registration the client gives up ownership of the object and may no longer delete the object. unregistering the object is the opposite: ownership is claimed back by the user. But note:

  • All depending objects will be deleted, ie. all leaves "below" the entry in question; NOT the object itself, the object itself must be destroyed by the user.

The object is identified by full path name.

Parameters:
fullPathPath name of the object.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::updateObject ( DataObject pParent,
const std::string updatePath 
) [pure virtual]

Update object identified by its parent's pointer and the path relative to the parent.

If found, the object update will be initiated. In case the object is not present the entry point returns an error.

Parameters:
pParentPointer to the parent object.
updatePathPath to the object relative to the parent.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::updateObject ( const std::string fullPath ) [pure virtual]

Update object identified by its full path in the data store.

If found, the object update will be initiated. In case the object is not present the entry point returns an error.

Parameters:
fullPathPath name of the object.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::updateObject ( const std::string parentPath,
const std::string updatePath 
) [pure virtual]

Update object identified by its parent's path and the path relative to the parent.

If found, the object update will be initiated. In case the object is not present the entry point returns an error.

Parameters:
parentPathPath name of the parent object.
updatePathPath to the object relative to the parent.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::updateObject ( DataObject toUpdate ) [pure virtual]

Update object identified by its pointer.

If found, the object update will be initiated. In case the object is not present the entry point returns an error.

Parameters:
toUpdatePointer to the object.
Returns:
Status code indicating success or failure.
virtual StatusCode IDataProviderSvc::updateObject ( IRegistry pDirectory ) [pure virtual]

Update object identified by its directory entry.

** FASTEST ACCESS TO THE DATA STORE **

Parameters:
pDirectoryPointer to the directory entry.
Returns:
Status code indicating success or failure.

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Tue May 10 2011 18:54:50 for Gaudi Framework, version v22r2 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004