The Gaudi Framework  v29r0 (ff2e7097)
Hive::HiveEventRegistryEntry Class Reference

#include <src/HiveEventRegistryEntry.h>

Inheritance diagram for Hive::HiveEventRegistryEntry:
Collaboration diagram for Hive::HiveEventRegistryEntry:

Public Member Functions

 HiveEventRegistryEntry (const std::string &path, DataSvcHelpers::RegistryEntry *parent=0)
 Standard Constructor. More...
 
virtual ~HiveEventRegistryEntry ()
 Standard Destructor. More...
 
virtual long add (const std::string &name, DataObject *pObject, bool is_soft=false)
 Add entry to data store. More...
 
virtual long add (const std::string &name, IOpaqueAddress *pAddress, bool is_soft=false)
 Add entry to data store. More...
 
virtual long add (IRegistry *obj)
 Add object to the container. More...
 
virtual tbb::concurrent_queue< std::string > & new_products ()
 Get list of new products. More...
 
- Public Member Functions inherited from DataSvcHelpers::RegistryEntry
 RegistryEntry (std::string path, RegistryEntry *parent=nullptr)
 Standard Constructor. More...
 
 ~RegistryEntry () override
 Standard Destructor. More...
 
unsigned long release () override
 IInterface implementation: Reference the object. More...
 
unsigned long addRef () override
 IInterface implementation: Dereference the object. More...
 
const std::stringname () const override
 Retrieve name of the entry. More...
 
const std::stringidentifier () const override
 Full identifier (or key) More...
 
IDataProviderSvcdataSvc () const override
 Retrieve pointer to Transient Store. More...
 
DataObjectobject () const override
 Retrive object behind the link. More...
 
IOpaqueAddressaddress () const override
 Retrieve opaque storage address. More...
 
virtual IRegistryparent () const
 Pointer to parent directory entry. More...
 
virtual bool isSoft () const
 Is the link soft or hard. More...
 
const Storeleaves () const
 Access the leaves of the object. More...
 
virtual int size () const
 Return the size of the container(=number of objects) More...
 
virtual bool isEmpty () const
 Simple check if the Container is empty. More...
 
virtual Iterator begin () const
 Return starting point for container iteration. More...
 
virtual Iterator end () const
 Return end elemtn if the container. More...
 
virtual IRegistryfind (const IRegistry *obj) const
 Try to find an object identified by its pointer. More...
 
virtual IRegistryfind (const std::string &path) const
 Try to find an object identified by its relative name to the directory. More...
 
void setAddress (IOpaqueAddress *pAddress) override
 Set/Update Opaque address. More...
 
void setObject (DataObject *obj)
 Set/Update object address. More...
 
virtual long remove (const std::string &name)
 Remove an entry from the store. More...
 
virtual long remove (IRegistry *obj)
 Remove an object from the container. More...
 
virtual long deleteElements ()
 Delete all contained elements. More...
 
virtual long traverseTree (IDataStoreAgent *pAgent, int level=0)
 traverse data tree More...
 
- Public Member Functions inherited from IRegistry
virtual ~IRegistry ()=default
 destructor More...
 

Private Member Functions

void assemblePath (std::string &buffer) const
 The following entries serve two aspects: 1) They are faster for recursive calls, because they are non-virtual 2) They can be re-used for the non-const entry points using a const_cast of the result. More...
 
HiveRegistryEntry * i_add (const std::string &)
 internals of the adding to the data store More...
 

Private Attributes

tbb::concurrent_queue< std::stringm_publishedData
 registry for all data published in the event; getting read from time to time More...
 

Friends

class ::DataSvc
 

Additional Inherited Members

- Public Types inherited from DataSvcHelpers::RegistryEntry
typedef Store::const_iterator Iterator
 Iterator definition. More...
 
- Public Types inherited from IRegistry
typedef std::string name_type
 Type definitions Name type. More...
 
typedef std::string id_type
 Identifier Key type. More...
 

Detailed Description

Definition at line 29 of file HiveEventRegistryEntry.h.

Constructor & Destructor Documentation

Hive::HiveEventRegistryEntry::HiveEventRegistryEntry ( const std::string path,
DataSvcHelpers::RegistryEntry parent = 0 
)

Standard Constructor.

virtual Hive::HiveEventRegistryEntry::~HiveEventRegistryEntry ( )
virtual

Standard Destructor.

Member Function Documentation

virtual long Hive::HiveEventRegistryEntry::add ( const std::string name,
DataObject pObject,
bool  is_soft = false 
)
virtual

Add entry to data store.

Reimplemented from DataSvcHelpers::RegistryEntry.

virtual long Hive::HiveEventRegistryEntry::add ( const std::string name,
IOpaqueAddress pAddress,
bool  is_soft = false 
)
virtual

Add entry to data store.

Reimplemented from DataSvcHelpers::RegistryEntry.

virtual long Hive::HiveEventRegistryEntry::add ( IRegistry obj)
virtual

Add object to the container.

Reimplemented from DataSvcHelpers::RegistryEntry.

void Hive::HiveEventRegistryEntry::assemblePath ( std::string buffer) const
private

The following entries serve two aspects: 1) They are faster for recursive calls, because they are non-virtual 2) They can be re-used for the non-const entry points using a const_cast of the result.

Recursive helper to assemble the full path name of the entry

HiveRegistryEntry* Hive::HiveEventRegistryEntry::i_add ( const std::string )
private

internals of the adding to the data store

virtual tbb::concurrent_queue<std::string>& Hive::HiveEventRegistryEntry::new_products ( )
inlinevirtual

Get list of new products.

Definition at line 61 of file HiveEventRegistryEntry.h.

61 { return m_publishedData; }
tbb::concurrent_queue< std::string > m_publishedData
registry for all data published in the event; getting read from time to time

Friends And Related Function Documentation

friend class ::DataSvc
friend

Definition at line 32 of file HiveEventRegistryEntry.h.

Member Data Documentation

tbb::concurrent_queue<std::string> Hive::HiveEventRegistryEntry::m_publishedData
private

registry for all data published in the event; getting read from time to time

Definition at line 36 of file HiveEventRegistryEntry.h.


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