| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DataSvc Class Reference

Data service base class. More...

#include <GaudiKernel/DataSvc.h>

Inheritance diagram for DataSvc:

[legend]
Collaboration diagram for DataSvc:
[legend]
List of all members.

Public Types

typedef std::vector< DataStoreItemLoadItems
 Define set of load items.
 SUCCESS = 1
 Normal successful completion.
 NO_INTERFACE
 Requested interface is not available.
 VERSMISMATCH
 Requested interface version is incompatible.
 LAST_ERROR
 Last error.
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...
 SEPARATOR = '/'
 IID_IDataProviderSvc_NO_ERROR = 1
 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 availible.
 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.
enum  { SEPARATOR = '/' }
enum  Status {
  IID_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

virtual CLID rootCLID () const
 IDataManagerSvc: Accessor for root event CLID.
virtual std::string rootName () const
 IDataManagerSvc: Accessor for root event name.
virtual StatusCode registerAddress (const std::string &fullPath, IOpaqueAddress *pAddress)
 IDataManagerSvc: Register object address with the data store.
virtual StatusCode registerAddress (DataObject *parentObj, const std::string &objectPath, IOpaqueAddress *pAddress)
 IDataManagerSvc: Register object address with the data store.
virtual StatusCode registerAddress (IRegistry *parentObj, const std::string &objectPath, IOpaqueAddress *pAddress)
 IDataManagerSvc: Register object address with the data store.
virtual StatusCode unregisterAddress (const std::string &fullPath)
 IDataManagerSvc: Unregister object address from the data store.
virtual StatusCode unregisterAddress (DataObject *pParent, const std::string &objPath)
 IDataManagerSvc: Unregister object address from the data store.
virtual StatusCode unregisterAddress (IRegistry *pParent, const std::string &objPath)
 IDataManagerSvc: Unregister object address from the data store.
virtual StatusCode objectLeaves (const DataObject *pObject, std::vector< IRegistry * > &refLeaves)
 IDataManagerSvc: Explore the object store: retrieve all leaves attached to the object.
virtual StatusCode objectLeaves (const IRegistry *pRegistry, std::vector< IRegistry * > &refLeaves)
 IDataManagerSvc: Explore the object store: retrieve all leaves attached to the object.
virtual StatusCode objectParent (const DataObject *pObject, IRegistry *&refpParent)
 IDataManagerSvc: Explore the object store: retrieve the object's parent.
virtual StatusCode objectParent (const IRegistry *pRegistry, IRegistry *&refpParent)
 IDataManagerSvc: Explore the object store: retrieve the object's parent.
virtual StatusCode clearSubTree (const std::string &sub_tree_path)
 IDataManagerSvc: Remove all data objects below the sub tree identified by its full path name.
virtual StatusCode clearSubTree (DataObject *pObject)
 IDataManagerSvc: Remove all data objects below the sub tree identified by the object.
virtual StatusCode clearStore ()
 IDataManagerSvc: Remove all data objects in the data store.
virtual StatusCode traverseSubTree (const std::string &sub_tree_path, IDataStoreAgent *pAgent)
 IDataManagerSvc: Analyse by traversing all data objects below the sub tree identified by its full path name.
virtual StatusCode traverseSubTree (DataObject *pObject, IDataStoreAgent *pAgent)
 IDataManagerSvc: Analyse by traversing all data objects below the sub tree.
virtual StatusCode traverseTree (IDataStoreAgent *pAgent)
 IDataManagerSvc: Analyse by traversing all data objects in the data store.
virtual StatusCode setRoot (const std::string &root_name, DataObject *pRootObj)
 Initialize data store for new event by giving new event path and root object.
virtual StatusCode i_setRoot (const std::string &root_name, DataObject *pRootObj)
 Initialize data store for new event by giving new event path and root object.
virtual StatusCode setRoot (const std::string &root_path, IOpaqueAddress *pRootAddr)
 Initialize data store for new event by giving new event path and address of root object.
virtual StatusCode i_setRoot (const std::string &root_path, IOpaqueAddress *pRootAddr)
 Initialize data store for new event by giving new event path and address of root object.
virtual StatusCode setDataLoader (IConversionSvc *svc)
 IDataManagerSvc: IDataManagerSvc: Pass a default data loader to the service.
virtual StatusCode addPreLoadItem (const DataStoreItem &item)
 Add an item to the preload list.
virtual StatusCode addPreLoadItem (const std::string &itemPath)
 Add an item to the preload list.
virtual StatusCode removePreLoadItem (const DataStoreItem &item)
 Remove an item from the preload list.
virtual StatusCode removePreLoadItem (const std::string &itemPath)
 Add an item to the preload list.
virtual StatusCode resetPreLoad ()
 Clear the preload list.
virtual StatusCode preLoad (int depth, int load_depth, DataObject *pObject)
 Execute one level of preloading and recursively load until the final level is reached.
virtual StatusCode preLoad ()
 load all preload items of the list
virtual StatusCode registerObject (const std::string &fullPath, DataObject *pObject)
 Register object with the data store.
virtual StatusCode registerObject (const std::string &parentPath, const std::string &objPath, DataObject *pObject)
 Register object with the data store.
virtual StatusCode registerObject (const std::string &parentPath, int item, DataObject *pObject)
 Register object with the data store.
virtual StatusCode registerObject (DataObject *parentObj, const std::string &objPath, DataObject *pObject)
 Register object with the data store.
virtual StatusCode registerObject (DataObject *parentObj, int item, DataObject *pObject)
 Register object with the data store.
virtual StatusCode unregisterObject (const std::string &fullPath)
 Unregister object from the data store.
virtual StatusCode unregisterObject (const std::string &parentPath, const std::string &objectPath)
 Unregister object from the data store.
virtual StatusCode unregisterObject (const std::string &parentPath, int item)
 Unregister object from the data store.
virtual StatusCode unregisterObject (DataObject *pObject)
 Unregister object from the data store.
virtual StatusCode unregisterObject (DataObject *pObject, const std::string &objectPath)
 Unregister object from the data store.
virtual StatusCode unregisterObject (DataObject *pObject, int item)
 Unregister object from the data store.
virtual StatusCode retrieveObject (IRegistry *pDirectory, const std::string &path, DataObject *&pObject)
 Retrieve object from data store.
virtual StatusCode retrieveObject (const std::string &fullPath, DataObject *&pObject)
 Retrieve object identified by its full path from the data store.
virtual StatusCode retrieveObject (const std::string &parentPath, const std::string &objPath, DataObject *&pObject)
 Retrieve object from data store.
virtual StatusCode retrieveObject (const std::string &parentPath, int item, DataObject *&pObject)
 Retrieve object from data store.
virtual StatusCode retrieveObject (DataObject *parentObj, const std::string &objPath, DataObject *&pObject)
 Retrieve object from data store.
virtual StatusCode retrieveObject (DataObject *parentObj, int item, DataObject *&pObject)
 Retrieve object from data store.
virtual StatusCode findObject (const std::string &fullPath, DataObject *&pObject)
 Find object identified by its full path in the data store.
virtual StatusCode findObject (IRegistry *pDirectory, const std::string &path, DataObject *&pObject)
 Find object identified by its full path in the data store.
virtual StatusCode findObject (const std::string &parentPath, const std::string &objPath, DataObject *&pObject)
 Find object in the data store.
virtual StatusCode findObject (const std::string &parentPath, int item, DataObject *&pObject)
 Find object in the data store.
virtual StatusCode findObject (DataObject *parentObj, const std::string &objPath, DataObject *&pObject)
 Find object in the data store.
virtual StatusCode findObject (DataObject *parentObj, int item, DataObject *&pObject)
 Find object in the data store.
virtual StatusCode linkObject (IRegistry *from, const std::string &objPath, DataObject *to)
 Add a link to another object.
virtual StatusCode linkObject (const std::string &fromPath, const std::string &objPath, DataObject *to)
 Add a link to another object.
virtual StatusCode linkObject (DataObject *from, const std::string &objPath, DataObject *to)
 Add a link to another object.
virtual StatusCode linkObject (const std::string &fullPath, DataObject *to)
 Add a link to another object.
virtual StatusCode unlinkObject (IRegistry *from, const std::string &objPath)
 Remove a link to another object.
virtual StatusCode unlinkObject (const std::string &fromPath, const std::string &objPath)
 Remove a link to another object.
virtual StatusCode unlinkObject (DataObject *fromObj, const std::string &objPath)
 Remove a link to another object.
virtual StatusCode unlinkObject (const std::string &fullPath)
 Remove a link to another object.
virtual StatusCode updateObject (IRegistry *pDirectory)
 Update object identified by its directory entry.
virtual StatusCode updateObject (const std::string &updatePath)
 Update object.
virtual StatusCode updateObject (DataObject *toUpdate)
 Update object.
virtual StatusCode updateObject (const std::string &parentPath, const std::string &updatePath)
 Update object.
virtual StatusCode updateObject (DataObject *pParent, const std::string &updatePath)
 Update object.
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvUnknown)
 Query interface.
virtual StatusCode initialize ()
 Service initialisation.
virtual StatusCode reinitialize ()
 Service initialisation.
virtual StatusCode finalize ()
 Service initialisation.
 DataSvc (const std::string &name, ISvcLocator *svc)
 Standard Constructor.
virtual ~DataSvc ()
 Standard Destructor.
virtual unsigned long addRef ()
 Reference Interface instance.
virtual unsigned long release ()
 Release Interface instance.
virtual const std::string & name () const
 Retrieve name of the service.
virtual const InterfaceIDtype () const
 Retrieve ID of the Service.
virtual StatusCode configure ()
 Configuration (from OFFLINE to CONFIGURED).
virtual StatusCode start ()
 Start (from INITIALIZED to RUNNING).
virtual StatusCode stop ()
 Stop (from RUNNING to INITIALIZED).
virtual StatusCode terminate ()
 Initialization (from CONFIGURED to OFFLINE).
virtual Gaudi::StateMachine::State FSMState () const
 Get the current state.
virtual Gaudi::StateMachine::State targetFSMState () const
 When we are in the middle of a transition, get the state where the transition is leading us.
virtual StatusCode restart ()
 Initialization (from RUNNING to RUNNING, via INITIALIZED).
virtual StatusCode sysInitialize ()
 Initilize Service.
virtual StatusCode sysStart ()
 Initilize Service.
virtual StatusCode sysStop ()
 Initilize Service.
virtual StatusCode sysFinalize ()
 Finalize Service.
virtual StatusCode sysReinitialize ()
 Re-initialize the Service.
virtual StatusCode sysRestart ()
 Re-initialize the Service.
virtual StatusCode setProperty (const Property &p)
 Set the property by property.
virtual StatusCode setProperty (const std::string &s)
 Set the property by string.
virtual StatusCode setProperty (const std::string &n, const std::string &v)
 Set the property by std::string.
template<class TYPE>
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value
virtual StatusCode getProperty (Property *p) const
 Get the property by property.
virtual const PropertygetProperty (const std::string &name) const
 Get the property by name.
virtual StatusCode getProperty (const std::string &n, std::string &v) const
 Get the property by std::string.
virtual const std::vector<
Property * > & 
getProperties () const
 Get list of properties.
ISvcLocatorserviceLocator () const
 Retrieve pointer to service locator.
IMessageSvcmsgSvc ()
 Retrieve pointer to message service.
IMessageSvcmsgSvc () const
IMessageSvcmessageService ()
IMessageSvcmessageService () const
StatusCode setProperties ()
 Method for setting declared properties to the values specifed for the job.
template<class T>
StatusCode service (const std::string &name, T *&psvc, bool createIf=true) const
 Access a service by name, creating it if it doesn't already exist.
template<class T>
StatusCode service (const std::string &svcType, const std::string &svcName, T *&psvc) const
 Access a service by name and type, creating it if it doesn't already exist.
template<class T>
PropertydeclareProperty (const std::string &name, T &property, const std::string &doc="none") const
 Declare the named property.
PropertydeclareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const
 Declare remote named properties.
IAuditorSvcauditorSvc () const
 The standard auditor service.May not be invoked before sysInitialize() has been invoked.

Static Public Member Functions

static const InterfaceIDinterfaceID ()
 Retrieve interface ID.
static const InterfaceIDinterfaceID ()
 Retrieve interface ID.
static const InterfaceIDinterfaceID ()
 Retrieve interface ID.
static const InterfaceIDinterfaceID ()
 Retrieve interface ID.
static const InterfaceIDinterfaceID ()
 Retrieve interface ID.

Protected Member Functions

bool checkRoot ()
 Check if root path is valid.
virtual IConversionSvcgetDataLoader (IRegistry *pReg)
 Retrieve customizable data loader according to registry entry to be retrieved.
virtual DataObjectcreateDefaultObject () const
 Create default objects in case forced creation of leaves is requested.
virtual StatusCode loadObject (IRegistry *pNode)
 Invoke Persistency service to create transient object from its persistent representation.
virtual StatusCode loadObject (IConversionSvc *pLoader, IRegistry *pNode)
 Invoke Persistency service to create transient object from its persistent representation.
StatusCode retrieveEntry (DataSvcHelpers::RegistryEntry *pNode, const std::string &path, DataSvcHelpers::RegistryEntry *&pEntry)
 Retrieve registry entry from store.
DataObjecthandleDataFault (IRegistry *pReg, const std::string &path="")
 Invoke data fault handling if enabled.
int outputLevel () const
 get the Service's output level

Protected Attributes

CLID m_rootCLID
 Integer Property corresponding to CLID of root entry.
std::string m_rootName
 Name of root event.
IConversionSvcm_dataLoader
 Pointer to data loader service.
IIncidentSvcm_incidentSvc
 Pointer to incident service.
LoadItems m_preLoads
 Items to be pre - loaded.
bool m_forceLeaves
 Allow forced creation of default leaves on registerObject.
bool m_enableAccessHdlr
 Flag to enable interrupts on data access requests.
bool m_enableFaultHdlr
 Flag to enable interrupts on data creation requests.
DataSvcHelpers::RegistryEntrym_root
 Pointer to root entry.
DataSvcHelpers::InhibitMap * m_inhibitMap
 Map with object pathes to be inhibited from loading.
std::vector< std::string > m_inhibitPathes
 Property for the inhibited leaves.
std::string m_accessName
 Name of the data access incident.
std::string m_faultName
 Name of the data fault incident.
IntegerProperty m_outputLevel
 Service output level.
Gaudi::StateMachine::State m_state
 Service state.
Gaudi::StateMachine::State m_targetState
 Service state.
IMessageSvcm_messageSvc
 MessageSvc reference.

Friends

class SvcFactory< DataSvc >
 The class creator is of course a friend!
class ServiceManager

Detailed Description

Data service base class.

A data service manages the transient data stores and implements the IDataProviderSvc and IDataManagerSvc interfaces.

Author:
Markus Frank

Sebastien Ponce

Version:
1.0

Definition at line 42 of file DataSvc.h.


Member Typedef Documentation

typedef std::vector<DataStoreItem> DataSvc::LoadItems

Define set of load items.

Definition at line 51 of file DataSvc.h.


Member Enumeration Documentation

enum IInterface::Status [inherited]

Return status.

Enumerator:
SUCCESS  Normal successful completion.
NO_INTERFACE  Requested interface is not available.
VERSMISMATCH  Requested interface version is incompatible.
LAST_ERROR  Last error.

Reimplemented in IConversionSvc, IConverter, and IDataProviderSvc.

Definition at line 113 of file IInterface.h.

00113                 {
00115     SUCCESS = 1,
00117     NO_INTERFACE,
00119     VERSMISMATCH,
00121     LAST_ERROR
00122   };

anonymous enum [inherited]

Enumerator:
SEPARATOR 

Definition at line 55 of file IDataProviderSvc.h.

00055 { SEPARATOR = '/' };

enum IDataProviderSvc::Status [inherited]

Status code definitions.

Enumerator:
IID_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 availible.
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 534 of file IDataProviderSvc.h.

00534                {
00536     IID_IDataProviderSvc_NO_ERROR = 1,
00538     DOUBL_OBJ_PATH,
00540     INVALID_OBJ_PATH,
00542     INVALID_ROOT,
00544     INVALID_OBJECT,
00546     INVALID_PARENT,
00548     OBJ_NOT_LOADED,
00550     NO_DATA_LOADER,
00552     INVALID_OBJ_ADDR,
00554     DIR_NOT_EMPTY,
00556     NO_MORE_LEVELS,
00558     NO_ACCESS,
00560     LAST
00561   };


Constructor & Destructor Documentation

DataSvc::DataSvc ( const std::string &  name,
ISvcLocator svc 
)

Standard Constructor.

virtual DataSvc::~DataSvc (  )  [virtual]

Standard Destructor.


Member Function Documentation

virtual CLID DataSvc::rootCLID (  )  const [virtual]

IDataManagerSvc: Accessor for root event CLID.

Implements IDataManagerSvc.

virtual std::string DataSvc::rootName (  )  const [virtual]

IDataManagerSvc: Accessor for root event name.

Implements IDataManagerSvc.

virtual StatusCode DataSvc::registerAddress ( const std::string &  fullPath,
IOpaqueAddress pAddress 
) [virtual]

IDataManagerSvc: Register object address with the data store.

Implements IDataManagerSvc.

virtual StatusCode DataSvc::registerAddress ( DataObject parentObj,
const std::string &  objectPath,
IOpaqueAddress pAddress 
) [virtual]

IDataManagerSvc: Register object address with the data store.

Implements IDataManagerSvc.

virtual StatusCode DataSvc::registerAddress ( IRegistry parentObj,
const std::string &  objectPath,
IOpaqueAddress pAddress 
) [virtual]

IDataManagerSvc: Register object address with the data store.

Implements IDataManagerSvc.

virtual StatusCode DataSvc::unregisterAddress ( const std::string &  fullPath  )  [virtual]

IDataManagerSvc: Unregister object address from the data store.

Implements IDataManagerSvc.

virtual StatusCode DataSvc::unregisterAddress ( DataObject pParent,
const std::string &  objPath 
) [virtual]

IDataManagerSvc: Unregister object address from the data store.

Implements IDataManagerSvc.

virtual StatusCode DataSvc::unregisterAddress ( IRegistry pParent,
const std::string &  objPath 
) [virtual]

IDataManagerSvc: Unregister object address from the data store.

Implements IDataManagerSvc.

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

IDataManagerSvc: Explore the object store: retrieve all leaves attached to the object.

Implements IDataManagerSvc.

virtual StatusCode DataSvc::objectLeaves ( const IRegistry pRegistry,
std::vector< IRegistry * > &  refLeaves 
) [virtual]

IDataManagerSvc: Explore the object store: retrieve all leaves attached to the object.

Implements IDataManagerSvc.

virtual StatusCode DataSvc::objectParent ( const DataObject pObject,
IRegistry *&  refpParent 
) [virtual]

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

Implements IDataManagerSvc.

virtual StatusCode DataSvc::objectParent ( const IRegistry pRegistry,
IRegistry *&  refpParent 
) [virtual]

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

Implements IDataManagerSvc.

virtual StatusCode DataSvc::clearSubTree ( const std::string &  sub_tree_path  )  [virtual]

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

Implements IDataManagerSvc.

virtual StatusCode DataSvc::clearSubTree ( DataObject pObject  )  [virtual]

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

Implements IDataManagerSvc.

virtual StatusCode DataSvc::clearStore (  )  [virtual]

IDataManagerSvc: Remove all data objects in the data store.

Implements IDataManagerSvc.

virtual StatusCode DataSvc::traverseSubTree ( const std::string &  sub_tree_path,
IDataStoreAgent pAgent 
) [virtual]

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

Implements IDataManagerSvc.

virtual StatusCode DataSvc::traverseSubTree ( DataObject pObject,
IDataStoreAgent pAgent 
) [virtual]

IDataManagerSvc: Analyse by traversing all data objects below the sub tree.

Implements IDataManagerSvc.

virtual StatusCode DataSvc::traverseTree ( IDataStoreAgent pAgent  )  [virtual]

IDataManagerSvc: Analyse by traversing all data objects in the data store.

Implements IDataManagerSvc.

virtual StatusCode DataSvc::setRoot ( const std::string &  root_name,
DataObject pRootObj 
) [virtual]

Initialize data store for new event by giving new event path and root object.

Takes care to clear the store before reinitializing it

Implements IDataManagerSvc.

virtual StatusCode DataSvc::i_setRoot ( const std::string &  root_name,
DataObject pRootObj 
) [virtual]

Initialize data store for new event by giving new event path and root object.

Does not clear the store before reinitializing it. This could lead to errors and should be handle with care. Use setRoot if unsure

virtual StatusCode DataSvc::setRoot ( const std::string &  root_path,
IOpaqueAddress pRootAddr 
) [virtual]

Initialize data store for new event by giving new event path and address of root object.

Takes care to clear the store before reinitializing it

Implements IDataManagerSvc.

virtual StatusCode DataSvc::i_setRoot ( const std::string &  root_path,
IOpaqueAddress pRootAddr 
) [virtual]

Initialize data store for new event by giving new event path and address of root object.

Does not clear the store before reinitializing it. This could lead to errors and should be handle with care. Use setRoot if unsure

virtual StatusCode DataSvc::setDataLoader ( IConversionSvc svc  )  [virtual]

IDataManagerSvc: IDataManagerSvc: Pass a default data loader to the service.

Implements IDataManagerSvc.

virtual StatusCode DataSvc::addPreLoadItem ( const DataStoreItem item  )  [virtual]

Add an item to the preload list.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::addPreLoadItem ( const std::string &  itemPath  )  [virtual]

Add an item to the preload list.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::removePreLoadItem ( const DataStoreItem item  )  [virtual]

Remove an item from the preload list.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::removePreLoadItem ( const std::string &  itemPath  )  [virtual]

Add an item to the preload list.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::resetPreLoad (  )  [virtual]

Clear the preload list.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::preLoad ( int  depth,
int  load_depth,
DataObject pObject 
) [virtual]

Execute one level of preloading and recursively load until the final level is reached.

Parameters:
depth current level of loading from requested parent
load_depth maximum level of object loading
pObject pointer to next level root object
Returns:
Status code indicating success or failure.

virtual StatusCode DataSvc::preLoad (  )  [virtual]

load all preload items of the list

Implements IDataProviderSvc.

virtual StatusCode DataSvc::registerObject ( const std::string &  fullPath,
DataObject pObject 
) [virtual]

Register object with the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::registerObject ( const std::string &  parentPath,
const std::string &  objPath,
DataObject pObject 
) [virtual]

Register object with the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::registerObject ( const std::string &  parentPath,
int  item,
DataObject pObject 
) [virtual]

Register object with the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::registerObject ( DataObject parentObj,
const std::string &  objPath,
DataObject pObject 
) [virtual]

Register object with the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::registerObject ( DataObject parentObj,
int  item,
DataObject pObject 
) [virtual]

Register object with the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::unregisterObject ( const std::string &  fullPath  )  [virtual]

Unregister object from the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::unregisterObject ( const std::string &  parentPath,
const std::string &  objectPath 
) [virtual]

Unregister object from the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::unregisterObject ( const std::string &  parentPath,
int  item 
) [virtual]

Unregister object from the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::unregisterObject ( DataObject pObject  )  [virtual]

Unregister object from the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::unregisterObject ( DataObject pObject,
const std::string &  objectPath 
) [virtual]

Unregister object from the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::unregisterObject ( DataObject pObject,
int  item 
) [virtual]

Unregister object from the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::retrieveObject ( IRegistry pDirectory,
const std::string &  path,
DataObject *&  pObject 
) [virtual]

Retrieve object from data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::retrieveObject ( const std::string &  fullPath,
DataObject *&  pObject 
) [virtual]

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

Implements IDataProviderSvc.

virtual StatusCode DataSvc::retrieveObject ( const std::string &  parentPath,
const std::string &  objPath,
DataObject *&  pObject 
) [virtual]

Retrieve object from data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::retrieveObject ( const std::string &  parentPath,
int  item,
DataObject *&  pObject 
) [virtual]

Retrieve object from data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::retrieveObject ( DataObject parentObj,
const std::string &  objPath,
DataObject *&  pObject 
) [virtual]

Retrieve object from data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::retrieveObject ( DataObject parentObj,
int  item,
DataObject *&  pObject 
) [virtual]

Retrieve object from data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::findObject ( const std::string &  fullPath,
DataObject *&  pObject 
) [virtual]

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

Implements IDataProviderSvc.

virtual StatusCode DataSvc::findObject ( IRegistry pDirectory,
const std::string &  path,
DataObject *&  pObject 
) [virtual]

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

Implements IDataProviderSvc.

virtual StatusCode DataSvc::findObject ( const std::string &  parentPath,
const std::string &  objPath,
DataObject *&  pObject 
) [virtual]

Find object in the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::findObject ( const std::string &  parentPath,
int  item,
DataObject *&  pObject 
) [virtual]

Find object in the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::findObject ( DataObject parentObj,
const std::string &  objPath,
DataObject *&  pObject 
) [virtual]

Find object in the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::findObject ( DataObject parentObj,
int  item,
DataObject *&  pObject 
) [virtual]

Find object in the data store.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::linkObject ( IRegistry from,
const std::string &  objPath,
DataObject to 
) [virtual]

Add a link to another object.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::linkObject ( const std::string &  fromPath,
const std::string &  objPath,
DataObject to 
) [virtual]

Add a link to another object.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::linkObject ( DataObject from,
const std::string &  objPath,
DataObject to 
) [virtual]

Add a link to another object.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::linkObject ( const std::string &  fullPath,
DataObject to 
) [virtual]

Add a link to another object.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::unlinkObject ( IRegistry from,
const std::string &  objPath 
) [virtual]

Remove a link to another object.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::unlinkObject ( const std::string &  fromPath,
const std::string &  objPath 
) [virtual]

Remove a link to another object.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::unlinkObject ( DataObject fromObj,
const std::string &  objPath 
) [virtual]

Remove a link to another object.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::unlinkObject ( const std::string &  fullPath  )  [virtual]

Remove a link to another object.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::updateObject ( IRegistry pDirectory  )  [virtual]

Update object identified by its directory entry.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::updateObject ( const std::string &  updatePath  )  [virtual]

Update object.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::updateObject ( DataObject toUpdate  )  [virtual]

Update object.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::updateObject ( const std::string &  parentPath,
const std::string &  updatePath 
) [virtual]

Update object.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::updateObject ( DataObject pParent,
const std::string &  updatePath 
) [virtual]

Update object.

Implements IDataProviderSvc.

virtual StatusCode DataSvc::queryInterface ( const InterfaceID riid,
void **  ppvUnknown 
) [virtual]

Query interface.

Reimplemented from Service.

virtual StatusCode DataSvc::initialize (  )  [virtual]

Service initialisation.

Reimplemented from Service.

virtual StatusCode DataSvc::reinitialize (  )  [virtual]

Service initialisation.

Reimplemented from Service.

virtual StatusCode DataSvc::finalize (  )  [virtual]

Service initialisation.

Reimplemented from Service.

bool DataSvc::checkRoot (  )  [inline, protected]

Check if root path is valid.

Definition at line 389 of file DataSvc.h.

00389                       {
00390     return 0 != m_root;
00391   }

virtual IConversionSvc* DataSvc::getDataLoader ( IRegistry pReg  )  [protected, virtual]

Retrieve customizable data loader according to registry entry to be retrieved.

virtual DataObject* DataSvc::createDefaultObject (  )  const [protected, virtual]

Create default objects in case forced creation of leaves is requested.

virtual StatusCode DataSvc::loadObject ( IRegistry pNode  )  [protected, virtual]

Invoke Persistency service to create transient object from its persistent representation.

virtual StatusCode DataSvc::loadObject ( IConversionSvc pLoader,
IRegistry pNode 
) [protected, virtual]

Invoke Persistency service to create transient object from its persistent representation.

StatusCode DataSvc::retrieveEntry ( DataSvcHelpers::RegistryEntry pNode,
const std::string &  path,
DataSvcHelpers::RegistryEntry *&  pEntry 
) [protected]

Retrieve registry entry from store.

DataObject* DataSvc::handleDataFault ( IRegistry pReg,
const std::string &  path = "" 
) [protected]

Invoke data fault handling if enabled.

Parameters:
pReg [IN] Pointer to missing registry entry
path [IN] Sub-path of requested object from pReg
Returns:
Object corresponding to the specified leaf

virtual unsigned long Service::addRef (  )  [virtual, inherited]

Reference Interface instance.

Implements IInterface.

virtual unsigned long Service::release (  )  [virtual, inherited]

Release Interface instance.

Implements IInterface.

virtual const std::string& Service::name (  )  const [virtual, inherited]

Retrieve name of the service.

Implements INamedInterface.

virtual const InterfaceID& Service::type (  )  const [virtual, inherited]

Retrieve ID of the Service.

Implements IService.

virtual StatusCode Service::configure (  )  [inline, virtual, inherited]

Configuration (from OFFLINE to CONFIGURED).

Implements IService.

Definition at line 53 of file Service.h.

00053 { return StatusCode::SUCCESS; }

virtual StatusCode Service::start (  )  [virtual, inherited]

Start (from INITIALIZED to RUNNING).

Implements IService.

Reimplemented in MinimalEventLoopMgr.

virtual StatusCode Service::stop (  )  [virtual, inherited]

Stop (from RUNNING to INITIALIZED).

Implements IService.

Reimplemented in MinimalEventLoopMgr.

virtual StatusCode Service::terminate (  )  [inline, virtual, inherited]

Initialization (from CONFIGURED to OFFLINE).

Implements IService.

Definition at line 58 of file Service.h.

00058 { return StatusCode::SUCCESS; }

virtual Gaudi::StateMachine::State Service::FSMState (  )  const [inline, virtual, inherited]

Get the current state.

Implements IService.

Definition at line 59 of file Service.h.

00059 { return m_state; }

virtual Gaudi::StateMachine::State Service::targetFSMState (  )  const [inline, virtual, inherited]

When we are in the middle of a transition, get the state where the transition is leading us.

Otherwise it returns the same state as state().

Implements IService.

Definition at line 60 of file Service.h.

00060 { return m_targetState; }

virtual StatusCode Service::restart (  )  [virtual, inherited]

Initialization (from RUNNING to RUNNING, via INITIALIZED).

Implements IService.

Reimplemented in MinimalEventLoopMgr.

virtual StatusCode Service::sysInitialize (  )  [virtual, inherited]

Initilize Service.

Implements IService.

virtual StatusCode Service::sysStart (  )  [virtual, inherited]

Initilize Service.

Implements IService.

virtual StatusCode Service::sysStop (  )  [virtual, inherited]

Initilize Service.

Implements IService.

virtual StatusCode Service::sysFinalize (  )  [virtual, inherited]

Finalize Service.

Implements IService.

virtual StatusCode Service::sysReinitialize (  )  [virtual, inherited]

Re-initialize the Service.

Implements IService.

virtual StatusCode Service::sysRestart (  )  [virtual, inherited]

Re-initialize the Service.

Implements IService.

virtual StatusCode Service::setProperty ( const Property p  )  [virtual, inherited]

Set the property by property.

Implements IProperty.

virtual StatusCode Service::setProperty ( const std::string &  s  )  [virtual, inherited]

Set the property by string.

Implements IProperty.

virtual StatusCode Service::setProperty ( const std::string &  n,
const std::string &  v 
) [virtual, inherited]

Set the property by std::string.

Implements IProperty.

template<class TYPE>
StatusCode Service::setProperty ( const std::string &  name,
const TYPE &  value 
) [inline, inherited]

set the property form the value

  std::vector<double> data = ... ;
  setProperty( "Data" , data ) ;
  
  std::map<std::string,double> cuts = ... ;
  setProperty( "Cuts" , cuts ) ;

  std::map<std::string,std::string> dict = ... ;
  setProperty( "Dictionary" , dict ) ;

Note: the interface IProperty allows setting of the properties either directly from other properties or from strings only

This is very convinient in resetting of the default properties in the derived classes. E.g. without this method one needs to convert everything into strings to use IProperty::setProperty

    setProperty ( "OutputLevel" , "1"    ) ;
    setProperty ( "Enable"      , "True" ) ;
    setProperty ( "ErrorMax"    , "10"   ) ;

For simple cases it is more or less ok, but for complicated properties it is just ugly..

Parameters:
name name of the property
value value of the property
See also:
Gaudi::Utils::setProperty
Author:
Vanya BELYAEV ibelyaev@physics.syr.edu
Date:
2007-05-13

Definition at line 128 of file Service.h.

00130   { return Gaudi::Utils::setProperty ( m_propertyMgr , name , value ) ; }

virtual StatusCode Service::getProperty ( Property p  )  const [virtual, inherited]

Get the property by property.

Implements IProperty.

virtual const Property& Service::getProperty ( const std::string &  name  )  const [virtual, inherited]

Get the property by name.

Implements IProperty.

virtual StatusCode Service::getProperty ( const std::string &  n,
std::string &  v 
) const [virtual, inherited]

Get the property by std::string.

Implements IProperty.

virtual const std::vector<Property*>& Service::getProperties (  )  const [virtual, inherited]

Get list of properties.

Implements IProperty.

ISvcLocator* Service::serviceLocator (  )  const [inherited]

Retrieve pointer to service locator.

IMessageSvc* Service::msgSvc (  )  [inherited]

Retrieve pointer to message service.

IMessageSvc* Service::msgSvc (  )  const [inherited]

IMessageSvc* Service::messageService (  )  [inherited]

IMessageSvc* Service::messageService (  )  const [inherited]

StatusCode Service::setProperties (  )  [inherited]

Method for setting declared properties to the values specifed for the job.

template<class T>
StatusCode Service::service ( const std::string &  name,
T *&  psvc,
bool  createIf = true 
) const [inline, inherited]

Access a service by name, creating it if it doesn't already exist.

Definition at line 152 of file Service.h.

00152                                                                                     {
00153     return service_i(name, createIf, T::interfaceID(), (void**)&psvc);
00154   }

template<class T>
StatusCode Service::service ( const std::string &  svcType,
const std::string &  svcName,
T *&  psvc 
) const [inline, inherited]

Access a service by name and type, creating it if it doesn't already exist.

Definition at line 159 of file Service.h.

00160                                       {
00161     return service_i(svcType, svcName, T::interfaceID(), (void**)&psvc);
00162   }

template<class T>
Property* Service::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
) const [inline, inherited]

Declare the named property.

  MySvc ( const std::string& name , 
          ISvcLocator*       pSvc ) 
     : Service ( name , pSvc ) 
     , m_property1   ( ... )
     , m_property2   ( ... )
   {
     // declare the property 
     declareProperty( "Property1" , m_property1 , "Doc fro property #1" ) ;

     // declare the property and attach the handler  to it
     declareProperty( "Property2" , m_property2 , "Doc for property #2" ) 
        -> declareUpdateHandler( &MyAlg::handler_2 ) ;
  
   }

See also:
PropertyMgr

PropertyMgr::declareProperty

Parameters:
name the property name
proeprty the property itself,
doc the documentation string
Returns:
the actual property objects

Definition at line 194 of file Service.h.

00197   { 
00198     return m_propertyMgr -> declareProperty ( name , property , doc ) ;
00199   }

Property* Service::declareRemoteProperty ( const std::string &  name,
IProperty rsvc,
const std::string &  rname = "" 
) const [inline, inherited]

Declare remote named properties.

This is used to declare as a local property a property of another services or algorithm. The only needed information is IProperty interface of the remote service and the its property name if different of the current one.

Parameters:
name Local property name
rsvc Remote IProperty interface
rname Name of the property at remote service

Definition at line 210 of file Service.h.

00213   {
00214         return m_propertyMgr -> declareRemoteProperty ( name , rsvc , rname ) ;
00215   }

IAuditorSvc* Service::auditorSvc (  )  const [inherited]

The standard auditor service.May not be invoked before sysInitialize() has been invoked.

int Service::outputLevel (  )  const [inline, protected, inherited]

get the Service's output level

Definition at line 235 of file Service.h.

00235 { return m_outputLevel.value(); }

static const InterfaceID& IService::interfaceID (  )  [inline, static, inherited]

Retrieve interface ID.

Reimplemented from INamedInterface.

Reimplemented in IAuditorSvc, IChronoStatSvc, IHistorySvc, IIssueLogger, IMagneticFieldSvc, IParticlePropertySvc, IPartPropSvc, IRndmGenSvc, IStatusCodeSvc, and ITHistSvc.

Definition at line 26 of file IService.h.

00026 { return IID_IService; }

static const InterfaceID& IProperty::interfaceID (  )  [inline, static, inherited]

Retrieve interface ID.

Reimplemented from IInterface.

Definition at line 28 of file IProperty.h.

00028 { return IID_IProperty; }

static const InterfaceID& IStateful::interfaceID (  )  [inline, static, inherited]

Retrieve interface ID.

Reimplemented from IInterface.

Definition at line 23 of file IStateful.h.

00023 { return IID_IStateful; }

static const InterfaceID& IDataProviderSvc::interfaceID (  )  [inline, static, inherited]

Retrieve interface ID.

Reimplemented from IInterface.

Reimplemented in IAIDATupleSvc, IHistogramSvc, and INTupleSvc.

Definition at line 53 of file IDataProviderSvc.h.

00053 { return IID_IDataProviderSvc; }

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

Retrieve interface ID.

Reimplemented from IInterface.

Definition at line 52 of file IDataManagerSvc.h.

00052 { return IID_IDataManagerSvc; }


Friends And Related Function Documentation

friend class SvcFactory< DataSvc > [friend]

The class creator is of course a friend!

Definition at line 47 of file DataSvc.h.

friend class ServiceManager [friend, inherited]

Reimplemented from IService.

Definition at line 34 of file Service.h.


Member Data Documentation

CLID DataSvc::m_rootCLID [protected]

Integer Property corresponding to CLID of root entry.

Definition at line 55 of file DataSvc.h.

std::string DataSvc::m_rootName [protected]

Name of root event.

Definition at line 57 of file DataSvc.h.

IConversionSvc* DataSvc::m_dataLoader [protected]

Pointer to data loader service.

Definition at line 59 of file DataSvc.h.

IIncidentSvc* DataSvc::m_incidentSvc [protected]

Pointer to incident service.

Definition at line 61 of file DataSvc.h.

LoadItems DataSvc::m_preLoads [protected]

Items to be pre - loaded.

Definition at line 63 of file DataSvc.h.

bool DataSvc::m_forceLeaves [protected]

Allow forced creation of default leaves on registerObject.

Definition at line 65 of file DataSvc.h.

bool DataSvc::m_enableAccessHdlr [protected]

Flag to enable interrupts on data access requests.

Definition at line 67 of file DataSvc.h.

bool DataSvc::m_enableFaultHdlr [protected]

Flag to enable interrupts on data creation requests.

Definition at line 69 of file DataSvc.h.

DataSvcHelpers::RegistryEntry* DataSvc::m_root [protected]

Pointer to root entry.

Definition at line 71 of file DataSvc.h.

DataSvcHelpers::InhibitMap* DataSvc::m_inhibitMap [protected]

Map with object pathes to be inhibited from loading.

Definition at line 73 of file DataSvc.h.

std::vector<std::string> DataSvc::m_inhibitPathes [protected]

Property for the inhibited leaves.

Definition at line 75 of file DataSvc.h.

std::string DataSvc::m_accessName [protected]

Name of the data access incident.

Definition at line 77 of file DataSvc.h.

std::string DataSvc::m_faultName [protected]

Name of the data fault incident.

Definition at line 79 of file DataSvc.h.

IntegerProperty Service::m_outputLevel [protected, inherited]

Service output level.

Definition at line 226 of file Service.h.

Gaudi::StateMachine::State Service::m_state [protected, inherited]

Service state.

Reimplemented in MinimalEventLoopMgr.

Definition at line 228 of file Service.h.

Gaudi::StateMachine::State Service::m_targetState [protected, inherited]

Service state.

Definition at line 230 of file Service.h.

IMessageSvc* Service::m_messageSvc [mutable, protected, inherited]

MessageSvc reference.

Definition at line 232 of file Service.h.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:06 2011 for GaudiKernel by doxygen 1.4.7