| # Gaudi Framework, version v21r10p1 |

Home |  | Generated: 29 Jul 2010

# IDataProviderSvc Class Reference

Data provider interface definition. More...

`#include <GaudiKernel/IDataProviderSvc.h>`

Inheritance diagram for IDataProviderSvc:

[legend]
Collaboration diagram for IDataProviderSvc:

[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:

- Define lists of items to be loaded automatically when a new root node is assigned to the data store.
- Register objects from the data store. Once objects are registered with the data store the client gives up ownership.
- Unregister objects from the data store. Unregistering an object means to actually delete all entries hanging below, not the object itself - since the client claims back ownership. Note that this is a very delicate operation - any reference to the object will be invalid. Even worse: invalid references cannot be detected.
- Retrieve objects to the data store. Depending ont he availibility of the requested object in the data store the represented object will be loaded if possible.
- Find objects beeing present in the store without actually creating the representation if the object is not present.
- Create 'soft' links between objects in the transient store.
- Request object updates.

- Removed call to update registry entry state in the data service

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.

    00051 { SEPARATOR = '/' };

enum IDataProviderSvc::Status

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.

    00530                {
    00532     IDataProviderSvc_NO_ERROR = 1,
    00534     DOUBL_OBJ_PATH,
    00536     INVALID_OBJ_PATH,
    00538     INVALID_ROOT,
    00540     INVALID_OBJECT,
    00542     INVALID_PARENT,
    00544     OBJ_NOT_LOADED,
    00546     NO_DATA_LOADER,
    00548     INVALID_OBJ_ADDR,
    00550     DIR_NOT_EMPTY,
    00552     NO_MORE_LEVELS,
    00554     NO_ACCESS,
    00556     LAST
    00557   };

## Member Function Documentation

IDataProviderSvc::DeclareInterfaceID | ( | IDataProviderSvc | ,
|  | 3 | ,
|  | 0 |  |
| ) |  |  |

InterfaceID.

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:

  | fullPath | Path to parent node of the object.
  | pObject | Pointer to the object to be registered.

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:

  | parentPath | Path to parent node of the object.
  | objectPath | Path of the object relative to the parent node
  | pObject | Pointer 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:

  | parentPath | Path to parent node of the object.
  | item | item number of the object linked to the parent
  | pObject | Pointer 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:

  | parentObj | Pointer to parent object.
  | objectPath | Path of the object relative to the parent node
  | pObject | Pointer to the object to be connected.

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:

  | parentObj | Pointer to parent object.
  | item | item number of the object linked to the parent
  | pObject | Pointer to the object to be connected.

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:

  | fullPath | Path name of the object.

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:

  | parentPath | Path name of the parent object.
  | objPath | Path 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:

  | parentPath | Path name of the parent object.
  | item | Integer identifier of the object item.

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:

  | pObject | Pointer 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:

  | pParent | Pointer to parent object.
  | objPath | Path name of the object relative to the parent.

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:

  | pParent | Pointer to parent object.
  | item | Integer identifier of the object item.

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:

  | pDirectory | Pointer to the object.
  | path | String with relative path to directory. Ideally ""!
  | pObject | Reference 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:

  | fullPath | Path name of the object.
  | pObject | Reference 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:

  | parentPath | Path to parent node of the object.
  | objectPath | Path of the object relative to the parent.
  | pObject | Reference 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:

  | parentPath | Path to parent node of the object.
  | item | Item identifier.
  | pObject | Reference to the pointer of the object to be returned.

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:

  | parentObj | Pointer to parent node of the object.
  | objectPath | Path of the object relative to the parent.
  | pObject | Reference 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:

  | parentObj | Pointer to parent node of the object.
  | item | Item identifier.
  | pObject | Reference to the pointer of the object to be returned.

Returns:
  Status code indicating success or failure.

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:

  | pDirectory | Pointer to the object.
  | path | String with relative path to directory. Ideally ""!
  | pObject | Reference 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:

  | fullPath | Path name of the object.
  | pObject | Pointer 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:

  | parentPath | Path to parent node of the object.
  | objectPath | Relative path name of the object.
  | pObject | Reference 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:

  | parentPath | Path to parent node of the object.
  | item | Item identifier.
  | pObject | Reference 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:

  | parentObj | Pointer to parent node of the object.
  | objectPath | Relative path name of the object.
  | pObject | Reference 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:

  | parentObj | Pointer to parent node of the object.
  | item | Item identifier.
  | pObject | Reference to the pointer of the object to be returned.

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:

  | pDirectory | Pointer to the directory entry.

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:

  | fullPath | Path name of the object.

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:

  | toUpdate | Pointer to 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:

  | parentPath | Path name of the parent object.
  | updatePath | Path to the object relative to the parent.

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:

  | pParent | Pointer to the parent object.
  | updatePath | Path to the object relative to the parent.

Returns:
  Status code indicating success or failure.

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

Add an item to the preload list.

Parameters:

  | item | Specs 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:

  | itemPath | Path 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:

  | item | Specs of item to be removed from the preload list

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:

  | itemPath | Path to the item to be preloaded.

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::preLoad | ( |  | ) | `[pure virtual]`

Load all preload items of the list.

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:

  | from | Pointer to data directory the link originates.
  | objPath | Path of the entry to be linked relative to from.
  | toObj | Pointer 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:

  | fromPath | Path to the object the link originates.
  | objPath | Path of the entry to be linked relative to from.
  | toObj | Pointer 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:

  | fromObj | Pointer to the object the link originates.
  | objPath | Path of the entry to be linked relative to from.
  | toObj | Pointer 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:

  | fullPath | Full path of the entry to be linked.
  | toObj | Pointer to the object the link points to.

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:

  | from | Pointer to data directory the link originates.
  | objPath | Path 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:

  | fromPath | Path to the object the link originates.
  | objPath | Path of the entry to be linked relative to from.

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:

  | fromObj | Pointer to the object the link originates.
  | objPath | Path of the entry to be linked relative to from.

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:

  | fullPath | Full path of the entry to be linked.

Returns:
  Status code indicating success or failure.

The documentation for this class was generated from the following file:

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v21r10p1/GaudiKernel/GaudiKernel/IDataProviderSvc.h