| # Gaudi Framework, version v20r2
Generated: 18 Jul 2008

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

- Search for |

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# IDataManagerSvc Class Reference

`#include <GaudiKernel/IDataManagerSvc.h>`

Inheritance diagram for IDataManagerSvc:

[legend]
Collaboration diagram for IDataManagerSvc:

[legend]
List of all members.

## Detailed Description

The data manager interface of the service allows to:

- Discard sub-trees or the entire data stored.
- Initialize the top level root used for navigation.
- Access the tree information of the data store: Given a reference to a store object, which can be identified by path, pointer or reference to the registry entry, it is possible to retrieve the parent object and to access iterators over the leaf entries.
- Register addresses to the data store. Registered addresses contain the retrieve information for the underlying object.
- Unregister addresses from the data store. The object will no longer be accessible and loadable.

Author:
  Markus Frank

Version:
  1.0

Definition at line 49 of file IDataManagerSvc.h.

## Public Member Functions
virtual CLID | rootCLID () const=0
| Get class ID of root Event.
virtual std::string | rootName () const=0
| Get Name of root Event.
virtual StatusCode | setDataLoader (IConversionSvc *svc)=0
| Pass a default data loader to the service.
virtual StatusCode | objectParent (const DataObject *pObject, IRegistry *&refpParent)=0
| IDataManagerSvc: Explore the object store: retrieve the object's parent.
virtual StatusCode | objectParent (const IRegistry *pRegistry, IRegistry *&refpParent)=0
| IDataManagerSvc: Explore the object store: retrieve the object's parent.
virtual StatusCode | objectLeaves (const DataObject *pObject, std::vector< IRegistry * > &refLeaves)=0
| Explore the object store: retrieve all leaves attached to the object The object is identified by its pointer.
virtual StatusCode | objectLeaves (const IRegistry *pRegistry, std::vector< IRegistry * > &refLeaves)=0
| Explore the object store: retrieve all leaves attached to the object The object is identified by the pointer to the registry entry.
virtual StatusCode | clearSubTree (const std::string &sub_path)=0
| Remove all data objects below the sub tree identified by its full path name.
virtual StatusCode | clearSubTree (DataObject *pObject)=0
| Remove all data objects below the sub tree identified by the object.
virtual StatusCode | clearStore ()=0
| Remove all data objects in the data store.
virtual StatusCode | traverseSubTree (const std::string &sub_path, IDataStoreAgent *pAgent)=0
| Analyse by traversing all data objects below the sub tree identified by its full path name.
virtual StatusCode | traverseSubTree (DataObject *pObject, IDataStoreAgent *pAgent)=0
| Analyse by traversing all data objects below the sub tree identified by the object.
virtual StatusCode | traverseTree (IDataStoreAgent *pAgent)=0
| Analyse by traversing all data objects in the data store.
virtual StatusCode | setRoot (const std::string &root_name, DataObject *pObject)=0
| Initialize data store for new event by giving new event path.
virtual StatusCode | setRoot (const std::string &root_path, IOpaqueAddress *pRootAddr)=0
| Initialize data store for new event by giving new event path.
virtual StatusCode | registerAddress (const std::string &fullPath, IOpaqueAddress *pAddress)=0
| Register object address with the data store.
virtual StatusCode | registerAddress (DataObject *parentObj, const std::string &objectPath, IOpaqueAddress *pAddress)=0
| Register object address with the data store.
virtual StatusCode | registerAddress (IRegistry *parentObj, const std::string &objectPath, IOpaqueAddress *pAddress)=0
| Register object address with the data store.
virtual StatusCode | unregisterAddress (const std::string &fullPath)=0
| Unregister object address from the data store.
virtual StatusCode | unregisterAddress (DataObject *pParent, const std::string &objPath)=0
| Unregister object address from the data store.
virtual StatusCode | unregisterAddress (IRegistry *pParent, const std::string &objPath)=0
| Unregister object address from the data store.
## Static Public Member Functions
static const InterfaceID & | interfaceID ()
| Retrieve interface ID.

## Member Function Documentation

static const InterfaceID& IDataManagerSvc::interfaceID | ( |  | ) | `[inline, static]`

Retrieve interface ID.

Reimplemented from IInterface.

Definition at line 52 of file IDataManagerSvc.h.

References IID_IDataManagerSvc.

Referenced by MultiStoreSvc::queryInterface(), and Converter::setDataProvider().

    00052 { return IID_IDataManagerSvc; }

virtual CLID IDataManagerSvc::rootCLID | ( |  | ) | const`[pure virtual]`

Get class ID of root Event.

Implemented in DataSvc, and MultiStoreSvc.

Referenced by PoolDbEvtSelector::initialize().

virtual std::string IDataManagerSvc::rootName | ( |  | ) | const`[pure virtual]`

Get Name of root Event.

Implemented in DataSvc, and MultiStoreSvc.

Referenced by PoolDbEvtSelector::initialize(), and EventSelectorDataStream::initialize().

virtual StatusCode IDataManagerSvc::setDataLoader | ( | IConversionSvc * | svc | ) | `[pure virtual]`

Pass a default data loader to the service.

This service will be asked to load non existant data items.

Parameters:

  | svc | [IN] Pointer to persistency service instance

Returns:
  Status code indicating success or failure

Implemented in DataSvc, and MultiStoreSvc.

virtual StatusCode IDataManagerSvc::objectParent | ( | const DataObject * | pObject,
|  | IRegistry *& | refpParent |
| ) |  |  | `[pure virtual]`

IDataManagerSvc: Explore the object store: retrieve the object's parent.

The object is identified by its pointer.

Parameters:

  | pObject | [IN] Pointer to the object.
  | refpParent | [OUT] Reference to store the parent's registry entry.

Returns:
  Status code indicating success or failure.

Implemented in DataSvc, and MultiStoreSvc.

virtual StatusCode IDataManagerSvc::objectParent | ( | const IRegistry * | pRegistry,
|  | IRegistry *& | refpParent |
| ) |  |  | `[pure virtual]`

IDataManagerSvc: Explore the object store: retrieve the object's parent.

The object is identified by the pointer to the registry entry.

Parameters:

  | pRegistry | [IN] Pointer to the object.
  | refpParent | [OUT] Reference to store the parent's registry entry.

Returns:
  Status code indicating success or failure.

Implemented in DataSvc, and MultiStoreSvc.

virtual StatusCode IDataManagerSvc::objectLeaves | ( | const DataObject * | pObject,
|  | std::vector< IRegistry * > & | refLeaves |
| ) |  |  | `[pure virtual]`

Explore the object store: retrieve all leaves attached to the object The object is identified by its pointer.

Allow to access and browse the leaf objects of the identified object.

Parameters:

  | pObject | [IN] Pointer to the object.
  | refLeaves | [OUT] Reference to storage location, where the objects leaves should be stored.

Returns:
  Status code indicating success or failure.

Implemented in DataSvc, and MultiStoreSvc.

Referenced by InputCopyStream::collectLeaves(), PoolDbBaseCnv::createReferences(), and PoolDbDirectoryCnv::updateObjRefs().

virtual StatusCode IDataManagerSvc::objectLeaves | ( | const IRegistry * | pRegistry,
|  | std::vector< IRegistry * > & | refLeaves |
| ) |  |  | `[pure virtual]`

Explore the object store: retrieve all leaves attached to the object The object is identified by the pointer to the registry entry.

Allow to access and browse the leaf objects of the identified object.

Parameters:

  | pRegistry | [IN] Pointer to the registry of the obejct.
  | refLeaves | [OUT] Reference to storage location, where the objects leaves should be stored.

Returns:
  Status code indicating success or failure.

Implemented in DataSvc, and MultiStoreSvc.

virtual StatusCode IDataManagerSvc::clearSubTree | ( | const std::string & | sub_path | ) | `[pure virtual]`

Remove all data objects below the sub tree identified by its full path name.

Parameters:

  | sub_path | [IN] Path to sub-tree node.

Returns:
  Status code indicating success or failure.

Implemented in DataSvc.

virtual StatusCode IDataManagerSvc::clearSubTree | ( | DataObject * | pObject | ) | `[pure virtual]`

Remove all data objects below the sub tree identified by the object.

The object itself is removed as well.

Parameters:

  | pObject | [IN] Pointer to object

Returns:
  Status code indicating success or failure

Implemented in DataSvc, and MultiStoreSvc.

virtual StatusCode IDataManagerSvc::clearStore | ( |  | ) | `[pure virtual]`

Remove all data objects in the data store.

Returns:
  Status code indicating success or failure

Implemented in DataSvc, MultiStoreSvc, and DetDataSvc.

Referenced by PoolDbCnvSvc::finalize(), and EventLoopMgr::nextEvent().

virtual StatusCode IDataManagerSvc::traverseSubTree | ( | const std::string & | sub_path,
|  | IDataStoreAgent * | pAgent |
| ) |  |  | `[pure virtual]`

Analyse by traversing all data objects below the sub tree identified by its full path name.

Parameters:

  | sub_path | [IN] Path to sub-tree node.

Returns:
  Status code indicating success or failure.

Implemented in DataSvc.

Referenced by OutputStream::collectObjects().

virtual StatusCode IDataManagerSvc::traverseSubTree | ( | DataObject * | pObject,
|  | IDataStoreAgent * | pAgent |
| ) |  |  | `[pure virtual]`

Analyse by traversing all data objects below the sub tree identified by the object.

The object itself is removed as well.

Parameters:

  | pObject | [IN] Pointer to object
  | pAgent | [IN] Pointer to the datastore agent traversing the store

Returns:
  Status code indicating success or failure

Implemented in DataSvc, and MultiStoreSvc.

virtual StatusCode IDataManagerSvc::traverseTree | ( | IDataStoreAgent * | pAgent | ) | `[pure virtual]`

Analyse by traversing all data objects in the data store.

Returns:
  Status code indicating success or failure

Implemented in DataSvc, and MultiStoreSvc.

Referenced by EventLoopMgr::finalize().

virtual StatusCode IDataManagerSvc::setRoot | ( | const std::string & | root_name,
|  | DataObject * | pObject |
| ) |  |  | `[pure virtual]`

Initialize data store for new event by giving new event path.

Implicitly this clears the entire data store.

Parameters:

  | root_name | [IN] String containing root path name
  | pObject | [IN] Pointer to root node object

Returns:
  Status code indicating success or failure

Implemented in DataSvc.

Referenced by EventLoopMgr::nextEvent().

virtual StatusCode IDataManagerSvc::setRoot | ( | const std::string & | root_path,
|  | IOpaqueAddress * | pRootAddr |
| ) |  |  | `[pure virtual]`

Initialize data store for new event by giving new event path.

Implicitly this clears the entire data store.

Parameters:

  | root_name | [IN] String containing root path name
  | pRootAddr | [IN] Pointer to opaque root node address

Returns:
  Status code indicating success or failure

Implemented in DataSvc.

virtual StatusCode IDataManagerSvc::registerAddress | ( | const std::string & | fullPath,
|  | IOpaqueAddress * | pAddress |
| ) |  |  | `[pure virtual]`

Register object address with the data store.

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

Parameters:

  | fullPath | [IN] Path to parent node of the object.
  | pAddress | [IN] Pointer to the object to be registered.

Returns:
  Status code indicating success or failure.

Implemented in DataSvc.

Referenced by RootHistCnv::RDirectoryCnv::fillObjRefs(), PoolDbBaseCnv::setReferences(), and PoolDbDirectoryCnv::updateObjRefs().

virtual StatusCode IDataManagerSvc::registerAddress | ( | DataObject * | parentObj,
|  | const std::string & | objectPath,
|  | IOpaqueAddress * | pAddress |
| ) |  |  | `[pure virtual]`

Register object address 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 | [IN] Pointer to parent object.
  | objectPath | [IN] Path of the object relative to the parent node
  | pAddress | [IN] Pointer to the object to be connected.

Returns:
  Status code indicating success or failure.

Implemented in DataSvc.

virtual StatusCode IDataManagerSvc::registerAddress | ( | IRegistry * | parentObj,
|  | const std::string & | objectPath,
|  | IOpaqueAddress * | pAddress |
| ) |  |  | `[pure virtual]`

Register object address 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 | [IN] Pointer to parent object.
  | objectPath | [IN] Path of the object relative to the parent node
  | pAddress | [IN] Pointer to the object to be connected.

Returns:
  Status code indicating success or failure.

Implemented in DataSvc.

virtual StatusCode IDataManagerSvc::unregisterAddress | ( | const std::string & | fullPath | ) | `[pure virtual]`

Unregister object address from the data store.

The object is identified by full path name.

Parameters:

  | fullPath | [IN] Path name of the object.

Returns:
  Status code indicating success or failure.

Implemented in DataSvc.

virtual StatusCode IDataManagerSvc::unregisterAddress | ( | DataObject * | pParent,
|  | const std::string & | objPath |
| ) |  |  | `[pure virtual]`

Unregister object address from the data store.

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

Parameters:

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

Returns:
  Status code indicating success or failure.

Implemented in DataSvc.

virtual StatusCode IDataManagerSvc::unregisterAddress | ( | IRegistry * | pParent,
|  | const std::string & | objPath |
| ) |  |  | `[pure virtual]`

Unregister object address from the data store.

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

Parameters:

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

Returns:
  Status code indicating success or failure.

Implemented in DataSvc.

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r2/GaudiKernel/v25r2/GaudiKernel/IDataManagerSvc.h