HiveWhiteBoard Class Reference

Data service base class. More...

Inheritance diagram for HiveWhiteBoard:
Collaboration diagram for HiveWhiteBoard:

Public Member Functions

CLID rootCLID () const override
 IDataManagerSvc: Accessor for root event CLID. More...
 
const std::string & rootName () const override
 Name for root Event. More...
 
StatusCode registerAddress (const std::string &path, IOpaqueAddress *pAddr) override
 IDataManagerSvc: Register object address with the data store. More...
 
StatusCode registerAddress (DataObject *parent, const std::string &path, IOpaqueAddress *pAddr) override
 IDataManagerSvc: Register object address with the data store. More...
 
StatusCode registerAddress (IRegistry *parent, const std::string &path, IOpaqueAddress *pAdd) override
 IDataManagerSvc: Register object address with the data store. More...
 
StatusCode unregisterAddress (const std::string &path) override
 IDataManagerSvc: Unregister object address from the data store. More...
 
StatusCode unregisterAddress (DataObject *pParent, const std::string &path) override
 IDataManagerSvc: Unregister object address from the data store. More...
 
StatusCode unregisterAddress (IRegistry *pParent, const std::string &path) override
 IDataManagerSvc: Unregister object address from the data store. More...
 
StatusCode objectLeaves (const DataObject *pObject, std::vector< IRegistry * > &leaves) override
 Explore the object store: retrieve all leaves attached to the object. More...
 
StatusCode objectLeaves (const IRegistry *pObject, std::vector< IRegistry * > &leaves) override
 Explore the object store: retrieve all leaves attached to the object. More...
 
StatusCode objectParent (const DataObject *pObject, IRegistry *&refpParent) override
 IDataManagerSvc: Explore the object store: retrieve the object's parent. More...
 
StatusCode objectParent (const IRegistry *pObject, IRegistry *&refpParent) override
 IDataManagerSvc: Explore the object store: retrieve the object's parent. More...
 
StatusCode clearSubTree (const std::string &path) override
 Remove all data objects below the sub tree identified. More...
 
StatusCode clearSubTree (DataObject *pObject) override
 Remove all data objects below the sub tree identified. More...
 
StatusCode clearStore () override
 IDataManagerSvc: Remove all data objects in the data store. More...
 
StatusCode traverseSubTree (const std::string &path, IDataStoreAgent *pAgent) override
 Analyze by traversing all data objects below the sub tree. More...
 
StatusCode traverseSubTree (DataObject *pObject, IDataStoreAgent *pAgent) override
 IDataManagerSvc: Analyze by traversing all data objects below the sub tree. More...
 
StatusCode traverseTree (IDataStoreAgent *pAgent) override
 IDataManagerSvc: Analyze by traversing all data objects in the data store. More...
 
StatusCode setRoot (std::string path, DataObject *pObj) override
 Initialize data store for new event by giving new event path and root object. More...
 
StatusCode setRoot (std::string path, IOpaqueAddress *pAddr) override
 Initialize data store for new event by giving new event path and address of root object. More...
 
StatusCode setDataLoader (IConversionSvc *pDataLoader, IDataProviderSvc *dpsvc __attribute__((unused))=nullptr) override
 IDataManagerSvc: Pass a default data loader to the service. More...
 
StatusCode addPreLoadItem (const DataStoreItem &item) override
 Add an item to the preload list. More...
 
StatusCode addPreLoadItem (const std::string &item) override
 Add an item to the preload list. More...
 
StatusCode removePreLoadItem (const DataStoreItem &item) override
 Remove an item from the preload list. More...
 
StatusCode removePreLoadItem (const std::string &item) override
 Add an item to the preload list. More...
 
StatusCode resetPreLoad () override
 Clear the preload list. More...
 
StatusCode preLoad () override
 load all preload items of the list More...
 
StatusCode registerObject (const std::string &path, DataObject *pObj) override
 Register object with the data store. (The most common one is the only monitored one for the time being....) More...
 
StatusCode registerObject (const std::string &parent, const std::string &obj, DataObject *pObj) override
 Register object with the data store. More...
 
StatusCode registerObject (const std::string &parent, int item, DataObject *pObj) override
 Register object with the data store. More...
 
StatusCode registerObject (DataObject *parent, const std::string &obj, DataObject *pObj) override
 Register object with the data store. More...
 
StatusCode registerObject (DataObject *parent, int obj, DataObject *pObj) override
 Register object with the data store. More...
 
StatusCode unregisterObject (const std::string &path) override
 Unregister object from the data store. More...
 
StatusCode unregisterObject (const std::string &parent, const std::string &obj) override
 Unregister object from the data store. More...
 
StatusCode unregisterObject (const std::string &parent, int obj) override
 Unregister object from the data store. More...
 
StatusCode unregisterObject (DataObject *pObj) override
 Unregister object from the data store. More...
 
StatusCode unregisterObject (DataObject *pObj, const std::string &path) override
 Unregister object from the data store. More...
 
StatusCode unregisterObject (DataObject *pObj, int item) override
 Unregister object from the data store. More...
 
StatusCode retrieveObject (IRegistry *parent, const std::string &path, DataObject *&pObj) override
 Retrieve object from data store. More...
 
StatusCode retrieveObject (const std::string &path, DataObject *&pObj) override
 Retrieve object identified by its full path from the data store. More...
 
StatusCode retrieveObject (const std::string &parent, const std::string &path, DataObject *&pObj) override
 Retrieve object from data store. More...
 
StatusCode retrieveObject (const std::string &parent, int item, DataObject *&pObj) override
 Retrieve object from data store. More...
 
StatusCode retrieveObject (DataObject *parent, const std::string &path, DataObject *&pObj) override
 Retrieve object from data store. More...
 
StatusCode retrieveObject (DataObject *parent, int item, DataObject *&pObj) override
 Retrieve object from data store. More...
 
StatusCode findObject (const std::string &path, DataObject *&pObj) override
 Find object identified by its full path in the data store. More...
 
StatusCode findObject (IRegistry *parent, const std::string &path, DataObject *&pObj) override
 Find object identified by its full path in the data store. More...
 
StatusCode findObject (const std::string &parent, const std::string &path, DataObject *&pObj) override
 Find object in the data store. More...
 
StatusCode findObject (const std::string &parent, int item, DataObject *&pObject) override
 Find object in the data store. More...
 
StatusCode findObject (DataObject *parent, const std::string &path, DataObject *&pObject) override
 Find object in the data store. More...
 
StatusCode findObject (DataObject *parent, int item, DataObject *&pObject) override
 Find object in the data store. More...
 
StatusCode linkObject (IRegistry *from, const std::string &objPath, DataObject *to) override
 Add a link to another object. More...
 
StatusCode linkObject (const std::string &from, const std::string &objPath, DataObject *to) override
 Add a link to another object. More...
 
StatusCode linkObject (DataObject *from, const std::string &objPath, DataObject *to) override
 Add a link to another object. More...
 
StatusCode linkObject (const std::string &fullPath, DataObject *to) override
 Add a link to another object. More...
 
StatusCode unlinkObject (IRegistry *from, const std::string &objPath) override
 Remove a link to another object. More...
 
StatusCode unlinkObject (const std::string &from, const std::string &objPath) override
 Remove a link to another object. More...
 
StatusCode unlinkObject (DataObject *from, const std::string &objPath) override
 Remove a link to another object. More...
 
StatusCode unlinkObject (const std::string &path) override
 Remove a link to another object. More...
 
StatusCode updateObject (IRegistry *pDirectory) override
 Update object identified by its directory entry. More...
 
StatusCode updateObject (const std::string &path) override
 Update object. More...
 
StatusCode updateObject (DataObject *pObj) override
 Update object. More...
 
StatusCode updateObject (const std::string &parent, const std::string &updatePath) override
 Update object. More...
 
StatusCode updateObject (DataObject *parent, const std::string &updatePath) override
 Update object. More...
 
StatusCode clearStore (size_t partition) override
 Remove all data objects in one 'slot' of the data store. More...
 
StatusCode selectStore (size_t partition) override
 Activate a partition object. The identifies the partition uniquely. More...
 
StatusCode setNumberOfStores (size_t slots) override
 Set the number of event slots (copies of DataSvc objects). More...
 
size_t getNumberOfStores () override
 Get the number of event slots (copies of DataSvc objects). More...
 
StatusCode getNewDataObjects (std::vector< std::string > &products) override
 Get the list of new DataObjects in the current store. More...
 
bool newDataObjectsPresent () override
 Check if new DataObjects are in the current store. More...
 
size_t allocateStore (int evtnumber) override
 Allocate a store partition for a given event number. More...
 
StatusCode freeStore (size_t partition) override
 Free a store partition. More...
 
size_t getPartitionNumber (int eventnumber) const override
 Get the partition number corresponding to a given event. More...
 
StatusCode attachServices ()
 
StatusCode detachServices ()
 
StatusCode initialize () override
 Service initialisation. More...
 
StatusCode reinitialize () override
 Service initialisation. More...
 
StatusCode finalize () override
 Service initialisation. More...
 
 HiveWhiteBoard (const std::string &name, ISvcLocator *svc)
 Standard Constructor. More...
 
virtual ~HiveWhiteBoard ()
 Standard Destructor. More...
 
- Public Member Functions inherited from extends< BASE, Interfaces >
void * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast. More...
 
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface. More...
 
std::vector< std::string > getInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
 ~extends () override=default
 Virtual destructor. More...
 
void * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast. More...
 
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface. More...
 
std::vector< std::string > getInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
 ~extends () override=default
 Virtual destructor. More...
 
- Public Member Functions inherited from extend_interfaces< Interfaces...>
 ~extend_interfaces () override=default
 Virtual destructor. More...
 
 ~extend_interfaces () override=default
 Virtual destructor. More...
 

Protected Types

typedef std::vector< Partition > Partitions
 

Protected Attributes

CLID m_rootCLID
 Integer Property corresponding to CLID of root entry. More...
 
std::string m_rootName
 Name of root event. More...
 
std::string m_loader
 Data loader name. More...
 
IConversionSvcm_dataLoader
 Pointer to data loader service. More...
 
IAddressCreatorm_addrCreator
 Reference to address creator. More...
 
Partitions m_partitions
 Datastore partitions. More...
 
int m_slots
 Datastore slots. More...
 
bool m_forceLeaves
 Allow forced creation of default leaves on registerObject. More...
 
bool m_enableFaultHdlr
 Flag to enable interrupts on data creation requests. More...
 

Additional Inherited Members

- Public Types inherited from extends< BASE, Interfaces >
using base_class = extends
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces...>
 Typedef to the base of this class. More...
 
using base_class = extends
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces...>
 Typedef to the base of this class. More...
 
- Public Types inherited from extend_interfaces< Interfaces...>
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type
 take union of the ext_iids of all Interfaces... More...
 
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type
 take union of the ext_iids of all Interfaces... More...
 

Detailed Description

Data service base class.

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

Author
Markus Frank
Sebastien Ponce
Pere Mato
Version
1.0

Definition at line 87 of file HiveWhiteBoard.cpp.

Member Typedef Documentation

typedef std::vector<Partition> HiveWhiteBoard::Partitions
protected

Definition at line 93 of file HiveWhiteBoard.cpp.

Constructor & Destructor Documentation

HiveWhiteBoard::HiveWhiteBoard ( const std::string &  name,
ISvcLocator svc 
)
inline

Standard Constructor.

Definition at line 583 of file HiveWhiteBoard.cpp.

584  : base_class(name,svc), m_rootCLID(110), m_rootName("/Event"),
586  {
587  m_dataLoader = 0;
588  declareProperty("RootCLID", m_rootCLID);
589  declareProperty("RootName", m_rootName);
590  declareProperty("DataLoader", m_loader="EventPersistencySvc");
591  declareProperty("EventSlots", m_slots = 1);
592  declareProperty("ForceLeaves", m_forceLeaves = 1);
593  declareProperty("EnableFaultHandler", m_enableFaultHdlr = 0);
594  }
extends base_class
Typedef to this class.
Definition: extends.h:14
bool m_enableFaultHdlr
Flag to enable interrupts on data creation requests.
std::string m_rootName
Name of root event.
std::string m_loader
Data loader name.
bool m_forceLeaves
Allow forced creation of default leaves on registerObject.
CLID m_rootCLID
Integer Property corresponding to CLID of root entry.
IAddressCreator * m_addrCreator
Reference to address creator.
int m_slots
Datastore slots.
IConversionSvc * m_dataLoader
Pointer to data loader service.
virtual HiveWhiteBoard::~HiveWhiteBoard ( )
inlinevirtual

Standard Destructor.

Definition at line 597 of file HiveWhiteBoard.cpp.

597  {
598  setDataLoader(0).ignore();
599  resetPreLoad().ignore();
600  clearStore().ignore();
601 
602  for(Partitions::iterator i = m_partitions.begin(); i != m_partitions.end(); ++i) {
603  (*i).dataManager->release();
604  (*i).dataProvider->release();
605  }
606  m_partitions.clear();
607  }
StatusCode setDataLoader(IConversionSvc *pDataLoader, IDataProviderSvc *dpsvc __attribute__((unused))=nullptr) override
IDataManagerSvc: Pass a default data loader to the service.
StatusCode resetPreLoad() override
Clear the preload list.
StatusCode clearStore() override
IDataManagerSvc: Remove all data objects in the data store.
Partitions m_partitions
Datastore partitions.
void ignore() const
Definition: StatusCode.h:108
list i
Definition: ana.py:128

Member Function Documentation

StatusCode HiveWhiteBoard::addPreLoadItem ( const DataStoreItem item)
inlineoverride

Add an item to the preload list.

Definition at line 226 of file HiveWhiteBoard.cpp.

226  {
227  for(auto& p: m_partitions) p.dataProvider->addPreLoadItem(item);
228  return StatusCode::SUCCESS;
229  }
Partitions m_partitions
Datastore partitions.
StatusCode HiveWhiteBoard::addPreLoadItem ( const std::string &  item)
inlineoverride

Add an item to the preload list.

Definition at line 231 of file HiveWhiteBoard.cpp.

231  {
232  for(auto& p: m_partitions) p.dataProvider->addPreLoadItem(item);
233  return StatusCode::SUCCESS;
234  }
Partitions m_partitions
Datastore partitions.
tuple item
print s1,s2
Definition: ana.py:146
size_t HiveWhiteBoard::allocateStore ( int  evtnumber)
inlineoverride

Allocate a store partition for a given event number.

Definition at line 454 of file HiveWhiteBoard.cpp.

454  {
455  //size_t free = std::string::npos;
456  size_t index = 0;
457  for (auto& p : m_partitions ) {
458  if( p.eventNumber == evtnumber) {
459  error() << "Attempt to allocate a store partition for an event that is still active" << endmsg;
460  return std::string::npos;
461  } else if (p.eventNumber == -1) {
462  p.eventNumber = evtnumber;
463  //info() << "Got allocated slot..." << index << endmsg;
464  return index;
465  }
466  index++;
467  }
468  return std::string::npos;
469  }
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
Partitions m_partitions
Datastore partitions.
StatusCode HiveWhiteBoard::attachServices ( )
inline

Definition at line 489 of file HiveWhiteBoard.cpp.

489  {
490  StatusCode sc = service(m_loader, m_addrCreator, true);
491  if (!sc.isSuccess()) {
492  error() << "Failed to retrieve data loader " << "\"" << m_loader << "\"" << endmsg;
493  return sc;
494  }
495  IConversionSvc* dataLoader = 0;
496  sc = service(m_loader, dataLoader, true);
497  if (!sc.isSuccess()) {
498  error() << MSG::ERROR << "Failed to retrieve data loader " << "\"" << m_loader << "\"" << endmsg;
499  return sc;
500  }
501  sc = setDataLoader(dataLoader);
502  dataLoader->release();
503  if (!sc.isSuccess()) {
504  error() << MSG::ERROR << "Failed to set data loader " << "\"" << m_loader << "\"" << endmsg;
505  return sc;
506  }
507  return sc;
508  }
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
StatusCode setDataLoader(IConversionSvc *pDataLoader, IDataProviderSvc *dpsvc __attribute__((unused))=nullptr) override
IDataManagerSvc: Pass a default data loader to the service.
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
std::string m_loader
Data loader name.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
virtual unsigned long release()=0
Release Interface instance.
IAddressCreator * m_addrCreator
Reference to address creator.
StatusCode HiveWhiteBoard::clearStore ( )
inlineoverride

IDataManagerSvc: Remove all data objects in the data store.

Definition at line 179 of file HiveWhiteBoard.cpp.

179  {
180  for(auto& p: m_partitions) p.dataManager->clearStore().ignore();
181  return StatusCode::SUCCESS;
182  }
Partitions m_partitions
Datastore partitions.
StatusCode HiveWhiteBoard::clearStore ( size_t  partition)
inlineoverride

Remove all data objects in one 'slot' of the data store.

Definition at line 413 of file HiveWhiteBoard.cpp.

413  {
414  return m_partitions[partition].dataManager->clearStore();
415  }
Partitions m_partitions
Datastore partitions.
StatusCode HiveWhiteBoard::clearSubTree ( const std::string &  path)
inlineoverride

Remove all data objects below the sub tree identified.

Definition at line 171 of file HiveWhiteBoard.cpp.

171  {
172  _CALL(dataManager, clearSubTree, (path));
173  }
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode clearSubTree(const std::string &path) override
Remove all data objects below the sub tree identified.
StatusCode HiveWhiteBoard::clearSubTree ( DataObject pObject)
inlineoverride

Remove all data objects below the sub tree identified.

Definition at line 175 of file HiveWhiteBoard.cpp.

175  {
176  _CALL(dataManager, clearSubTree, (pObject));
177  }
#define _CALL(P, F, ARGS)
StatusCode clearSubTree(const std::string &path) override
Remove all data objects below the sub tree identified.
StatusCode HiveWhiteBoard::detachServices ( )
inline

Definition at line 510 of file HiveWhiteBoard.cpp.

510  {
513  m_addrCreator = 0;
514  m_dataLoader = 0;
515  return StatusCode::SUCCESS;
516  }
virtual unsigned long release()=0
Release Interface instance.
IAddressCreator * m_addrCreator
Reference to address creator.
IConversionSvc * m_dataLoader
Pointer to data loader service.
StatusCode HiveWhiteBoard::finalize ( )
inlineoverride

Service initialisation.

Definition at line 573 of file HiveWhiteBoard.cpp.

573  {
574  setDataLoader(0).ignore();
575  clearStore().ignore();
576  return Service::finalize();
577  }
StatusCode setDataLoader(IConversionSvc *pDataLoader, IDataProviderSvc *dpsvc __attribute__((unused))=nullptr) override
IDataManagerSvc: Pass a default data loader to the service.
StatusCode finalize() override
Definition: Service.cpp:188
StatusCode clearStore() override
IDataManagerSvc: Remove all data objects in the data store.
void ignore() const
Definition: StatusCode.h:108
StatusCode HiveWhiteBoard::findObject ( const std::string &  path,
DataObject *&  pObj 
)
inlineoverride

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

Definition at line 332 of file HiveWhiteBoard.cpp.

332  {
333  _CALL(dataProvider, retrieveObject, (path, pObj));
334  }
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode retrieveObject(IRegistry *parent, const std::string &path, DataObject *&pObj) override
Retrieve object from data store.
StatusCode HiveWhiteBoard::findObject ( IRegistry parent,
const std::string &  path,
DataObject *&  pObj 
)
inlineoverride

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

Definition at line 336 of file HiveWhiteBoard.cpp.

336  {
337  _CALL(dataProvider, retrieveObject, (parent, path, pObj));
338  }
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode retrieveObject(IRegistry *parent, const std::string &path, DataObject *&pObj) override
Retrieve object from data store.
StatusCode HiveWhiteBoard::findObject ( const std::string &  parent,
const std::string &  path,
DataObject *&  pObj 
)
inlineoverride

Find object in the data store.

Definition at line 340 of file HiveWhiteBoard.cpp.

340  {
341  _CALL(dataProvider, retrieveObject, (parent, path, pObj));
342  }
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode retrieveObject(IRegistry *parent, const std::string &path, DataObject *&pObj) override
Retrieve object from data store.
StatusCode HiveWhiteBoard::findObject ( const std::string &  parent,
int  item,
DataObject *&  pObject 
)
inlineoverride

Find object in the data store.

Definition at line 344 of file HiveWhiteBoard.cpp.

344  {
345  _CALL(dataProvider, findObject, (parent, item, pObject));
346  }
#define _CALL(P, F, ARGS)
StatusCode findObject(const std::string &path, DataObject *&pObj) override
Find object identified by its full path in the data store.
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HiveWhiteBoard::findObject ( DataObject parent,
const std::string &  path,
DataObject *&  pObject 
)
inlineoverride

Find object in the data store.

Definition at line 348 of file HiveWhiteBoard.cpp.

348  {
349  _CALL(dataProvider, findObject, (parent, path, pObject));
350  }
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode findObject(const std::string &path, DataObject *&pObj) override
Find object identified by its full path in the data store.
StatusCode HiveWhiteBoard::findObject ( DataObject parent,
int  item,
DataObject *&  pObject 
)
inlineoverride

Find object in the data store.

Definition at line 352 of file HiveWhiteBoard.cpp.

352  {
353  _CALL(dataProvider, findObject, (parent, item, pObject));
354  }
#define _CALL(P, F, ARGS)
StatusCode findObject(const std::string &path, DataObject *&pObj) override
Find object identified by its full path in the data store.
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HiveWhiteBoard::freeStore ( size_t  partition)
inlineoverride

Free a store partition.

Definition at line 472 of file HiveWhiteBoard.cpp.

472  {
473  m_partitions[partition].eventNumber = -1;
474  //info() << "Freed slot..." << partition << endmsg;
475  return StatusCode::SUCCESS;
476  }
Partitions m_partitions
Datastore partitions.
StatusCode HiveWhiteBoard::getNewDataObjects ( std::vector< std::string > &  products)
inlineoverride

Get the list of new DataObjects in the current store.

Definition at line 440 of file HiveWhiteBoard.cpp.

440  {
441  wbMutex::scoped_lock lock; lock.acquire(s_current->storeMutex);
442  products = s_current->newDataObjects;
443  s_current->newDataObjects.clear();
444  return StatusCode::SUCCESS;
445  }
def lock(file)
Definition: locker.py:16
THREAD_LOCAL_PTR Partition * s_current(0)
size_t HiveWhiteBoard::getNumberOfStores ( )
inlineoverride

Get the number of event slots (copies of DataSvc objects).

Definition at line 435 of file HiveWhiteBoard.cpp.

435  {
436  return m_slots;
437  }
int m_slots
Datastore slots.
size_t HiveWhiteBoard::getPartitionNumber ( int  eventnumber) const
inlineoverride

Get the partition number corresponding to a given event.

Definition at line 480 of file HiveWhiteBoard.cpp.

480  {
481  size_t index{};
482  for (auto& p : m_partitions) {
483  if (p.eventNumber == eventnumber) return index;
484  ++index;
485  }
486  return std::string::npos;
487  }
Partitions m_partitions
Datastore partitions.
StatusCode HiveWhiteBoard::initialize ( )
inlineoverride

Service initialisation.

Definition at line 523 of file HiveWhiteBoard.cpp.

523  {
525  if ( !sc.isSuccess() ) {
526  error() << "Unable to initialize base class" << endmsg;
527  return sc;
528  }
529 
530  if (1 > m_slots ){
531  error() << "Invalid number of slots (" << m_slots << ")" << endmsg;
532  return StatusCode::FAILURE;
533  }
534 
535  for( int i = 0; i< m_slots; i++) {
536  std::ostringstream oss;
537  oss << name() << "_" << i;
538  DataSvc* svc = new DataSvc(oss.str(), serviceLocator());
539  // Percolate properties
540  svc->setProperty("RootCLID", std::to_string(m_rootCLID));
541  svc->setProperty("RootName", m_rootName);
542  svc->setProperty("ForceLeaves", std::to_string(m_forceLeaves));
543  svc->setProperty("EnableFaultHandler", std::to_string(m_enableFaultHdlr));
544 
545  sc = svc->initialize();
546  if (!sc.isSuccess()) {
547  error() << "Failed to instantiate DataSvc as store partition" << endmsg;
548  return sc;
549  }
550  m_partitions.push_back(Partition(svc, svc));
551  }
552  selectStore(0).ignore();
553  return attachServices();
554  }
StatusCode initialize() override
Definition: Service.cpp:63
string to_string(const T &value)
Definition: mergesort.cpp:40
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
StatusCode selectStore(size_t partition) override
Activate a partition object. The identifies the partition uniquely.
bool m_enableFaultHdlr
Flag to enable interrupts on data creation requests.
std::string m_rootName
Name of root event.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
bool m_forceLeaves
Allow forced creation of default leaves on registerObject.
CLID m_rootCLID
Integer Property corresponding to CLID of root entry.
StatusCode attachServices()
Partitions m_partitions
Datastore partitions.
StatusCode initialize() override
Service initialization.
Definition: DataSvc.cpp:1153
Data service base class.
Definition: DataSvc.h:43
int m_slots
Datastore slots.
void ignore() const
Definition: StatusCode.h:108
list i
Definition: ana.py:128
StatusCode HiveWhiteBoard::linkObject ( IRegistry from,
const std::string &  objPath,
DataObject to 
)
inlineoverride

Add a link to another object.

Definition at line 356 of file HiveWhiteBoard.cpp.

356  {
357  _CALL(dataProvider, linkObject, (from, objPath, to));
358  }
#define _CALL(P, F, ARGS)
StatusCode linkObject(IRegistry *from, const std::string &objPath, DataObject *to) override
Add a link to another object.
StatusCode HiveWhiteBoard::linkObject ( const std::string &  from,
const std::string &  objPath,
DataObject to 
)
inlineoverride

Add a link to another object.

Definition at line 360 of file HiveWhiteBoard.cpp.

360  {
361  _CALL(dataProvider, linkObject, (from, objPath, to));
362  }
#define _CALL(P, F, ARGS)
StatusCode linkObject(IRegistry *from, const std::string &objPath, DataObject *to) override
Add a link to another object.
StatusCode HiveWhiteBoard::linkObject ( DataObject from,
const std::string &  objPath,
DataObject to 
)
inlineoverride

Add a link to another object.

Definition at line 364 of file HiveWhiteBoard.cpp.

364  {
365  _CALL(dataProvider, linkObject, (from, objPath, to));
366  }
#define _CALL(P, F, ARGS)
StatusCode linkObject(IRegistry *from, const std::string &objPath, DataObject *to) override
Add a link to another object.
StatusCode HiveWhiteBoard::linkObject ( const std::string &  fullPath,
DataObject to 
)
inlineoverride

Add a link to another object.

Definition at line 368 of file HiveWhiteBoard.cpp.

368  {
369  _CALL(dataProvider, linkObject, (fullPath, to));
370  }
#define _CALL(P, F, ARGS)
StatusCode linkObject(IRegistry *from, const std::string &objPath, DataObject *to) override
Add a link to another object.
bool HiveWhiteBoard::newDataObjectsPresent ( )
inlineoverride

Check if new DataObjects are in the current store.

Definition at line 448 of file HiveWhiteBoard.cpp.

448  {
449  wbMutex::scoped_lock lock; lock.acquire(s_current->storeMutex);
450  return s_current->newDataObjects.size()!=0;
451  }
def lock(file)
Definition: locker.py:16
THREAD_LOCAL_PTR Partition * s_current(0)
StatusCode HiveWhiteBoard::objectLeaves ( const DataObject pObject,
std::vector< IRegistry * > &  leaves 
)
inlineoverride

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

Definition at line 155 of file HiveWhiteBoard.cpp.

155  {
156  _CALL(dataManager, objectLeaves, (pObject, leaves));
157  }
#define _CALL(P, F, ARGS)
StatusCode objectLeaves(const DataObject *pObject, std::vector< IRegistry * > &leaves) override
Explore the object store: retrieve all leaves attached to the object.
StatusCode HiveWhiteBoard::objectLeaves ( const IRegistry pObject,
std::vector< IRegistry * > &  leaves 
)
inlineoverride

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

Definition at line 159 of file HiveWhiteBoard.cpp.

159  {
160  _CALL(dataManager, objectLeaves, (pObject, leaves));
161  }
#define _CALL(P, F, ARGS)
StatusCode objectLeaves(const DataObject *pObject, std::vector< IRegistry * > &leaves) override
Explore the object store: retrieve all leaves attached to the object.
StatusCode HiveWhiteBoard::objectParent ( const DataObject pObject,
IRegistry *&  refpParent 
)
inlineoverride

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

Definition at line 163 of file HiveWhiteBoard.cpp.

163  {
164  _CALL(dataManager, objectParent, (pObject, refpParent));
165  }
#define _CALL(P, F, ARGS)
StatusCode objectParent(const DataObject *pObject, IRegistry *&refpParent) override
IDataManagerSvc: Explore the object store: retrieve the object's parent.
StatusCode HiveWhiteBoard::objectParent ( const IRegistry pObject,
IRegistry *&  refpParent 
)
inlineoverride

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

Definition at line 167 of file HiveWhiteBoard.cpp.

167  {
168  _CALL(dataManager, objectParent, (pObject, refpParent));
169  }
#define _CALL(P, F, ARGS)
StatusCode objectParent(const DataObject *pObject, IRegistry *&refpParent) override
IDataManagerSvc: Explore the object store: retrieve the object's parent.
StatusCode HiveWhiteBoard::preLoad ( )
inlineoverride

load all preload items of the list

Definition at line 251 of file HiveWhiteBoard.cpp.

251  {
252  wbMutex::scoped_lock lock; lock.acquire(s_current->storeMutex);
253  StatusCode sc = s_current->dataProvider->preLoad();
254  DataAgent da(s_current->newDataObjects);
255  s_current->dataManager->traverseTree(&da);
256  return sc;
257  }
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
def lock(file)
Definition: locker.py:16
THREAD_LOCAL_PTR Partition * s_current(0)
StatusCode HiveWhiteBoard::registerAddress ( const std::string &  path,
IOpaqueAddress pAddr 
)
inlineoverride

IDataManagerSvc: Register object address with the data store.

Definition at line 131 of file HiveWhiteBoard.cpp.

131  {
132  _CALL(dataManager, registerAddress, (path, pAddr));
133  }
#define _CALL(P, F, ARGS)
StatusCode registerAddress(const std::string &path, IOpaqueAddress *pAddr) override
IDataManagerSvc: Register object address with the data store.
list path
Definition: __init__.py:15
StatusCode HiveWhiteBoard::registerAddress ( DataObject parent,
const std::string &  path,
IOpaqueAddress pAddr 
)
inlineoverride

IDataManagerSvc: Register object address with the data store.

Definition at line 135 of file HiveWhiteBoard.cpp.

135  {
136  _CALL(dataManager, registerAddress, (parent, path, pAddr));
137  }
#define _CALL(P, F, ARGS)
StatusCode registerAddress(const std::string &path, IOpaqueAddress *pAddr) override
IDataManagerSvc: Register object address with the data store.
list path
Definition: __init__.py:15
StatusCode HiveWhiteBoard::registerAddress ( IRegistry parent,
const std::string &  path,
IOpaqueAddress pAdd 
)
inlineoverride

IDataManagerSvc: Register object address with the data store.

Definition at line 139 of file HiveWhiteBoard.cpp.

139  {
140  _CALL(dataManager, registerAddress, (parent, path, pAdd));
141  }
#define _CALL(P, F, ARGS)
StatusCode registerAddress(const std::string &path, IOpaqueAddress *pAddr) override
IDataManagerSvc: Register object address with the data store.
list path
Definition: __init__.py:15
StatusCode HiveWhiteBoard::registerObject ( const std::string &  path,
DataObject pObj 
)
inlineoverride

Register object with the data store. (The most common one is the only monitored one for the time being....)

Definition at line 259 of file HiveWhiteBoard.cpp.

259  {
260  wbMutex::scoped_lock lock; lock.acquire(s_current->storeMutex);
261  StatusCode sc = s_current->dataProvider->registerObject(path, pObj);
262  if( sc.isSuccess()) {
263  s_current->newDataObjects.push_back(path);
264  }
265  return sc;
266  }
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
list path
Definition: __init__.py:15
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
def lock(file)
Definition: locker.py:16
THREAD_LOCAL_PTR Partition * s_current(0)
StatusCode HiveWhiteBoard::registerObject ( const std::string &  parent,
const std::string &  obj,
DataObject pObj 
)
inlineoverride

Register object with the data store.

Definition at line 268 of file HiveWhiteBoard.cpp.

268  {
269  _CALL(dataProvider, registerObject, (parent, obj, pObj));
270  }
#define _CALL(P, F, ARGS)
StatusCode registerObject(const std::string &path, DataObject *pObj) override
Register object with the data store. (The most common one is the only monitored one for the time bein...
StatusCode HiveWhiteBoard::registerObject ( const std::string &  parent,
int  item,
DataObject pObj 
)
inlineoverride

Register object with the data store.

Definition at line 272 of file HiveWhiteBoard.cpp.

272  {
273  _CALL(dataProvider, registerObject, (parent, item, pObj));
274  }
#define _CALL(P, F, ARGS)
StatusCode registerObject(const std::string &path, DataObject *pObj) override
Register object with the data store. (The most common one is the only monitored one for the time bein...
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HiveWhiteBoard::registerObject ( DataObject parent,
const std::string &  obj,
DataObject pObj 
)
inlineoverride

Register object with the data store.

Definition at line 276 of file HiveWhiteBoard.cpp.

276  {
277  _CALL(dataProvider, registerObject, (parent, obj, pObj));
278  }
#define _CALL(P, F, ARGS)
StatusCode registerObject(const std::string &path, DataObject *pObj) override
Register object with the data store. (The most common one is the only monitored one for the time bein...
StatusCode HiveWhiteBoard::registerObject ( DataObject parent,
int  obj,
DataObject pObj 
)
inlineoverride

Register object with the data store.

Definition at line 280 of file HiveWhiteBoard.cpp.

280  {
281  _CALL(dataProvider, registerObject, (parent, obj, pObj));
282  }
#define _CALL(P, F, ARGS)
StatusCode registerObject(const std::string &path, DataObject *pObj) override
Register object with the data store. (The most common one is the only monitored one for the time bein...
StatusCode HiveWhiteBoard::reinitialize ( )
inlineoverride

Service initialisation.

Definition at line 557 of file HiveWhiteBoard.cpp.

557  {
559  if (!sc.isSuccess()) {
560  error() << "Unable to reinitialize base class" << endmsg;
561  return sc;
562  }
563  detachServices();
564  sc = attachServices();
565  if ( !sc.isSuccess() ) {
566  error() << "Failed to attach necessary services." << endmsg;
567  return sc;
568  }
569  return StatusCode::SUCCESS;
570  }
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
StatusCode detachServices()
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
StatusCode reinitialize() override
Definition: Service.cpp:283
StatusCode attachServices()
StatusCode HiveWhiteBoard::removePreLoadItem ( const DataStoreItem item)
inlineoverride

Remove an item from the preload list.

Definition at line 236 of file HiveWhiteBoard.cpp.

236  {
237  for(auto& p: m_partitions) p.dataProvider->removePreLoadItem(item);
238  return StatusCode::SUCCESS;
239  }
Partitions m_partitions
Datastore partitions.
StatusCode HiveWhiteBoard::removePreLoadItem ( const std::string &  item)
inlineoverride

Add an item to the preload list.

Definition at line 241 of file HiveWhiteBoard.cpp.

241  {
242  for(auto& p: m_partitions) p.dataProvider->removePreLoadItem(item);
243  return StatusCode::SUCCESS;
244  }
Partitions m_partitions
Datastore partitions.
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HiveWhiteBoard::resetPreLoad ( )
inlineoverride

Clear the preload list.

Definition at line 246 of file HiveWhiteBoard.cpp.

246  {
247  for(auto& p: m_partitions) p.dataProvider->resetPreLoad();
248  return StatusCode::SUCCESS;
249  }
Partitions m_partitions
Datastore partitions.
StatusCode HiveWhiteBoard::retrieveObject ( IRegistry parent,
const std::string &  path,
DataObject *&  pObj 
)
inlineoverride

Retrieve object from data store.

Definition at line 308 of file HiveWhiteBoard.cpp.

308  {
309  _CALL(dataProvider, retrieveObject, (parent, path, pObj));
310  }
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode retrieveObject(IRegistry *parent, const std::string &path, DataObject *&pObj) override
Retrieve object from data store.
StatusCode HiveWhiteBoard::retrieveObject ( const std::string &  path,
DataObject *&  pObj 
)
inlineoverride

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

Definition at line 312 of file HiveWhiteBoard.cpp.

312  {
313  _CALL(dataProvider, retrieveObject, (path, pObj));
314  }
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode retrieveObject(IRegistry *parent, const std::string &path, DataObject *&pObj) override
Retrieve object from data store.
StatusCode HiveWhiteBoard::retrieveObject ( const std::string &  parent,
const std::string &  path,
DataObject *&  pObj 
)
inlineoverride

Retrieve object from data store.

Definition at line 316 of file HiveWhiteBoard.cpp.

316  {
317  _CALL(dataProvider, retrieveObject, (parent, path, pObj));
318  }
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode retrieveObject(IRegistry *parent, const std::string &path, DataObject *&pObj) override
Retrieve object from data store.
StatusCode HiveWhiteBoard::retrieveObject ( const std::string &  parent,
int  item,
DataObject *&  pObj 
)
inlineoverride

Retrieve object from data store.

Definition at line 320 of file HiveWhiteBoard.cpp.

320  {
321  _CALL(dataProvider, retrieveObject, (parent, item, pObj));
322  }
#define _CALL(P, F, ARGS)
tuple item
print s1,s2
Definition: ana.py:146
StatusCode retrieveObject(IRegistry *parent, const std::string &path, DataObject *&pObj) override
Retrieve object from data store.
StatusCode HiveWhiteBoard::retrieveObject ( DataObject parent,
const std::string &  path,
DataObject *&  pObj 
)
inlineoverride

Retrieve object from data store.

Definition at line 324 of file HiveWhiteBoard.cpp.

324  {
325  _CALL(dataProvider, retrieveObject, (parent, path, pObj));
326  }
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode retrieveObject(IRegistry *parent, const std::string &path, DataObject *&pObj) override
Retrieve object from data store.
StatusCode HiveWhiteBoard::retrieveObject ( DataObject parent,
int  item,
DataObject *&  pObj 
)
inlineoverride

Retrieve object from data store.

Definition at line 328 of file HiveWhiteBoard.cpp.

328  {
329  _CALL(dataProvider, retrieveObject, (parent, item, pObj));
330  }
#define _CALL(P, F, ARGS)
tuple item
print s1,s2
Definition: ana.py:146
StatusCode retrieveObject(IRegistry *parent, const std::string &path, DataObject *&pObj) override
Retrieve object from data store.
CLID HiveWhiteBoard::rootCLID ( ) const
inlineoverride

IDataManagerSvc: Accessor for root event CLID.

Definition at line 116 of file HiveWhiteBoard.cpp.

116  {
117  return (CLID)m_rootCLID;
118  }
CLID m_rootCLID
Integer Property corresponding to CLID of root entry.
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
const std::string& HiveWhiteBoard::rootName ( ) const
inlineoverride

Name for root Event.

Definition at line 120 of file HiveWhiteBoard.cpp.

120  {
121  return m_rootName;
122  }
std::string m_rootName
Name of root event.
StatusCode HiveWhiteBoard::selectStore ( size_t  partition)
inlineoverride

Activate a partition object. The identifies the partition uniquely.

Definition at line 418 of file HiveWhiteBoard.cpp.

418  {
419  s_current = &m_partitions[partition];
420  return StatusCode::SUCCESS;
421  }
Partitions m_partitions
Datastore partitions.
THREAD_LOCAL_PTR Partition * s_current(0)
StatusCode HiveWhiteBoard::setDataLoader ( IConversionSvc pDataLoader,
IDataProviderSvc *dpsvc   __attribute__(unused) = nullptr 
)
inlineoverride

IDataManagerSvc: Pass a default data loader to the service.

The optional data provider is not considered. On the other hand, the data provider is specified to be the whiteboard.

Definition at line 212 of file HiveWhiteBoard.cpp.

213  {
214  if ( 0 != pDataLoader ) pDataLoader->addRef();
215  if ( 0 != m_dataLoader ) m_dataLoader->release();
216  if ( 0 != pDataLoader ) {
217  pDataLoader->setDataProvider(this);
218  }
219  m_dataLoader = pDataLoader;
220  for(auto& p: m_partitions) {
221  p.dataManager->setDataLoader(m_dataLoader,this).ignore();
222  }
223  return SUCCESS;
224  }
virtual StatusCode setDataProvider(IDataProviderSvc *pService)=0
Set Data provider service.
Partitions m_partitions
Datastore partitions.
virtual unsigned long release()=0
Release Interface instance.
virtual unsigned long addRef()=0
Increment the reference count of Interface instance.
IConversionSvc * m_dataLoader
Pointer to data loader service.
StatusCode HiveWhiteBoard::setNumberOfStores ( size_t  slots)
inlineoverride

Set the number of event slots (copies of DataSvc objects).

Definition at line 424 of file HiveWhiteBoard.cpp.

424  {
425  if((int)slots != m_slots and
426  FSMState() == Gaudi::StateMachine::INITIALIZED) {
427  warning() << "Too late to change the number of slots!" << endmsg;
428  return StatusCode::FAILURE;
429  }
430  m_slots = slots;
431  return StatusCode::SUCCESS;
432  }
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
int m_slots
Datastore slots.
StatusCode HiveWhiteBoard::setRoot ( std::string  path,
DataObject pObj 
)
inlineoverride

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

Takes care to clear the store before reinitializing it

Definition at line 198 of file HiveWhiteBoard.cpp.

198  {
199  _CALL(dataManager, setRoot, (path, pObj));
200  }
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode setRoot(std::string path, DataObject *pObj) override
Initialize data store for new event by giving new event path and root object.
StatusCode HiveWhiteBoard::setRoot ( std::string  path,
IOpaqueAddress pAddr 
)
inlineoverride

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

Definition at line 204 of file HiveWhiteBoard.cpp.

204  {
205  _CALL(dataManager, setRoot, (path, pAddr));
206  }
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode setRoot(std::string path, DataObject *pObj) override
Initialize data store for new event by giving new event path and root object.
StatusCode HiveWhiteBoard::traverseSubTree ( const std::string &  path,
IDataStoreAgent pAgent 
)
inlineoverride

Analyze by traversing all data objects below the sub tree.

Definition at line 185 of file HiveWhiteBoard.cpp.

185  {
186  _CALL(dataManager, traverseSubTree, (path, pAgent));
187  }
#define _CALL(P, F, ARGS)
StatusCode traverseSubTree(const std::string &path, IDataStoreAgent *pAgent) override
Analyze by traversing all data objects below the sub tree.
list path
Definition: __init__.py:15
StatusCode HiveWhiteBoard::traverseSubTree ( DataObject pObject,
IDataStoreAgent pAgent 
)
inlineoverride

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

Definition at line 189 of file HiveWhiteBoard.cpp.

189  {
190  _CALL(dataManager, traverseSubTree, (pObject, pAgent));
191  }
#define _CALL(P, F, ARGS)
StatusCode traverseSubTree(const std::string &path, IDataStoreAgent *pAgent) override
Analyze by traversing all data objects below the sub tree.
StatusCode HiveWhiteBoard::traverseTree ( IDataStoreAgent pAgent)
inlineoverride

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

Definition at line 193 of file HiveWhiteBoard.cpp.

193  {
194  _CALL(dataManager, traverseTree, (pAgent));
195  }
#define _CALL(P, F, ARGS)
StatusCode traverseTree(IDataStoreAgent *pAgent) override
IDataManagerSvc: Analyze by traversing all data objects in the data store.
StatusCode HiveWhiteBoard::unlinkObject ( IRegistry from,
const std::string &  objPath 
)
inlineoverride

Remove a link to another object.

Definition at line 372 of file HiveWhiteBoard.cpp.

372  {
373  _CALL(dataProvider, unlinkObject, (from, objPath));
374  }
StatusCode unlinkObject(IRegistry *from, const std::string &objPath) override
Remove a link to another object.
#define _CALL(P, F, ARGS)
StatusCode HiveWhiteBoard::unlinkObject ( const std::string &  from,
const std::string &  objPath 
)
inlineoverride

Remove a link to another object.

Definition at line 376 of file HiveWhiteBoard.cpp.

376  {
377  _CALL(dataProvider, unlinkObject, (from, objPath));
378  }
StatusCode unlinkObject(IRegistry *from, const std::string &objPath) override
Remove a link to another object.
#define _CALL(P, F, ARGS)
StatusCode HiveWhiteBoard::unlinkObject ( DataObject from,
const std::string &  objPath 
)
inlineoverride

Remove a link to another object.

Definition at line 380 of file HiveWhiteBoard.cpp.

380  {
381  _CALL(dataProvider, unlinkObject, (from, objPath));
382  }
StatusCode unlinkObject(IRegistry *from, const std::string &objPath) override
Remove a link to another object.
#define _CALL(P, F, ARGS)
StatusCode HiveWhiteBoard::unlinkObject ( const std::string &  path)
inlineoverride

Remove a link to another object.

Definition at line 384 of file HiveWhiteBoard.cpp.

384  {
385  _CALL(dataProvider, unlinkObject, (path));
386  }
StatusCode unlinkObject(IRegistry *from, const std::string &objPath) override
Remove a link to another object.
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode HiveWhiteBoard::unregisterAddress ( const std::string &  path)
inlineoverride

IDataManagerSvc: Unregister object address from the data store.

Definition at line 143 of file HiveWhiteBoard.cpp.

143  {
144  _CALL(dataManager, unregisterAddress, (path));
145  }
#define _CALL(P, F, ARGS)
StatusCode unregisterAddress(const std::string &path) override
IDataManagerSvc: Unregister object address from the data store.
list path
Definition: __init__.py:15
StatusCode HiveWhiteBoard::unregisterAddress ( DataObject pParent,
const std::string &  path 
)
inlineoverride

IDataManagerSvc: Unregister object address from the data store.

Definition at line 147 of file HiveWhiteBoard.cpp.

147  {
148  _CALL(dataManager, unregisterAddress, (pParent, path));
149  }
#define _CALL(P, F, ARGS)
StatusCode unregisterAddress(const std::string &path) override
IDataManagerSvc: Unregister object address from the data store.
list path
Definition: __init__.py:15
StatusCode HiveWhiteBoard::unregisterAddress ( IRegistry pParent,
const std::string &  path 
)
inlineoverride

IDataManagerSvc: Unregister object address from the data store.

Definition at line 151 of file HiveWhiteBoard.cpp.

151  {
152  _CALL(dataManager, unregisterAddress, (pParent, path));
153  }
#define _CALL(P, F, ARGS)
StatusCode unregisterAddress(const std::string &path) override
IDataManagerSvc: Unregister object address from the data store.
list path
Definition: __init__.py:15
StatusCode HiveWhiteBoard::unregisterObject ( const std::string &  path)
inlineoverride

Unregister object from the data store.

Definition at line 284 of file HiveWhiteBoard.cpp.

284  {
285  _CALL(dataProvider, unregisterObject, (path));
286  }
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode unregisterObject(const std::string &path) override
Unregister object from the data store.
StatusCode HiveWhiteBoard::unregisterObject ( const std::string &  parent,
const std::string &  obj 
)
inlineoverride

Unregister object from the data store.

Definition at line 288 of file HiveWhiteBoard.cpp.

288  {
289  _CALL(dataProvider, unregisterObject, (parent, obj));
290  }
#define _CALL(P, F, ARGS)
StatusCode unregisterObject(const std::string &path) override
Unregister object from the data store.
StatusCode HiveWhiteBoard::unregisterObject ( const std::string &  parent,
int  obj 
)
inlineoverride

Unregister object from the data store.

Definition at line 292 of file HiveWhiteBoard.cpp.

292  {
293  _CALL(dataProvider, unregisterObject, (parent, obj));
294  }
#define _CALL(P, F, ARGS)
StatusCode unregisterObject(const std::string &path) override
Unregister object from the data store.
StatusCode HiveWhiteBoard::unregisterObject ( DataObject pObj)
inlineoverride

Unregister object from the data store.

Definition at line 296 of file HiveWhiteBoard.cpp.

296  {
297  _CALL(dataProvider, unregisterObject, (pObj));
298  }
#define _CALL(P, F, ARGS)
StatusCode unregisterObject(const std::string &path) override
Unregister object from the data store.
StatusCode HiveWhiteBoard::unregisterObject ( DataObject pObj,
const std::string &  path 
)
inlineoverride

Unregister object from the data store.

Definition at line 300 of file HiveWhiteBoard.cpp.

300  {
301  _CALL(dataProvider, unregisterObject, (pObj, path));
302  }
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode unregisterObject(const std::string &path) override
Unregister object from the data store.
StatusCode HiveWhiteBoard::unregisterObject ( DataObject pObj,
int  item 
)
inlineoverride

Unregister object from the data store.

Definition at line 304 of file HiveWhiteBoard.cpp.

304  {
305  _CALL(dataProvider, unregisterObject, (pObj, item));
306  }
#define _CALL(P, F, ARGS)
StatusCode unregisterObject(const std::string &path) override
Unregister object from the data store.
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HiveWhiteBoard::updateObject ( IRegistry pDirectory)
inlineoverride

Update object identified by its directory entry.

Definition at line 388 of file HiveWhiteBoard.cpp.

388  {
389  _CALL(dataProvider, updateObject, (pDirectory));
390  }
StatusCode updateObject(IRegistry *pDirectory) override
Update object identified by its directory entry.
#define _CALL(P, F, ARGS)
StatusCode HiveWhiteBoard::updateObject ( const std::string &  path)
inlineoverride

Update object.

Definition at line 392 of file HiveWhiteBoard.cpp.

392  {
393  _CALL(dataProvider, updateObject, (path));
394  }
StatusCode updateObject(IRegistry *pDirectory) override
Update object identified by its directory entry.
#define _CALL(P, F, ARGS)
list path
Definition: __init__.py:15
StatusCode HiveWhiteBoard::updateObject ( DataObject pObj)
inlineoverride

Update object.

Definition at line 396 of file HiveWhiteBoard.cpp.

396  {
397  _CALL(dataProvider, updateObject, (pObj));
398  }
StatusCode updateObject(IRegistry *pDirectory) override
Update object identified by its directory entry.
#define _CALL(P, F, ARGS)
StatusCode HiveWhiteBoard::updateObject ( const std::string &  parent,
const std::string &  updatePath 
)
inlineoverride

Update object.

Definition at line 400 of file HiveWhiteBoard.cpp.

400  {
401  _CALL(dataProvider, updateObject, (parent, updatePath));
402  }
StatusCode updateObject(IRegistry *pDirectory) override
Update object identified by its directory entry.
#define _CALL(P, F, ARGS)
StatusCode HiveWhiteBoard::updateObject ( DataObject parent,
const std::string &  updatePath 
)
inlineoverride

Update object.

Definition at line 404 of file HiveWhiteBoard.cpp.

404  {
405  _CALL(dataProvider, updateObject, (parent, updatePath));
406  }
StatusCode updateObject(IRegistry *pDirectory) override
Update object identified by its directory entry.
#define _CALL(P, F, ARGS)

Member Data Documentation

IAddressCreator* HiveWhiteBoard::m_addrCreator
protected

Reference to address creator.

Definition at line 104 of file HiveWhiteBoard.cpp.

IConversionSvc* HiveWhiteBoard::m_dataLoader
protected

Pointer to data loader service.

Definition at line 102 of file HiveWhiteBoard.cpp.

bool HiveWhiteBoard::m_enableFaultHdlr
protected

Flag to enable interrupts on data creation requests.

Definition at line 112 of file HiveWhiteBoard.cpp.

bool HiveWhiteBoard::m_forceLeaves
protected

Allow forced creation of default leaves on registerObject.

Definition at line 110 of file HiveWhiteBoard.cpp.

std::string HiveWhiteBoard::m_loader
protected

Data loader name.

Definition at line 100 of file HiveWhiteBoard.cpp.

Partitions HiveWhiteBoard::m_partitions
protected

Datastore partitions.

Definition at line 106 of file HiveWhiteBoard.cpp.

CLID HiveWhiteBoard::m_rootCLID
protected

Integer Property corresponding to CLID of root entry.

Definition at line 96 of file HiveWhiteBoard.cpp.

std::string HiveWhiteBoard::m_rootName
protected

Name of root event.

Definition at line 98 of file HiveWhiteBoard.cpp.

int HiveWhiteBoard::m_slots
protected

Datastore slots.

Definition at line 108 of file HiveWhiteBoard.cpp.


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