Belle II Software
release-08-01-10
|
Class for accessing objects in the database. More...
#include <DBObjPtr.h>
Public Member Functions | |
DBObjPtr (const std::string &name="", bool required=true) | |
Constructor to access an object in the DBStore. More... | |
const T & | operator* () const |
Imitate pointer functionality. | |
const T * | operator-> () const |
Imitate pointer functionality. | |
const std::string & | getName () const |
Return name under which the object is saved in the DBStore. | |
bool | isValid () const |
Check whether a valid object was obtained from the database. More... | |
operator bool () const | |
Imitate pointer functionality. | |
virtual bool | operator== (const DBAccessorBase &other) const |
Check if two store accessors point to the same object/array. | |
virtual bool | operator!= (const DBAccessorBase &other) const |
Check if two store accessors point to a different object/array. | |
bool | hasChanged () |
Check whether the object has changed since the last call to hasChanged of the accessor). | |
void | addCallback (std::function< void(const std::string &)> callback, bool onDestruction=false) |
Add a callback method. More... | |
void | addCallback (std::function< void()> callback, bool onDestruction=false) |
Add a callback method. More... | |
template<class T > | |
void | addCallback (T *object, void(T::*callback)()) |
Add a callback method of an object. More... | |
const std::string & | getGlobaltag () const |
Return the globaltag name (or testing payloads path) this object is loaded from. | |
unsigned int | getRevision () const |
Return current revision of the object. | |
IntervalOfValidity | getIoV () const |
Return current IoV of the object. | |
const std::string & | getChecksum () const |
Get current checksum. | |
const std::string & | getFilename () const |
Get the filename this object is loaded from. | |
bool | isIntraRunDependent () const |
Check wether this conditions object has some intra-run dependencies. | |
const std::vector< unsigned int > | getIntraRunBoundaries () const |
Get the intra-run boundaries, if any. More... | |
bool | isRequired () const |
Check whether this conditions object is required (at least one user declared it as required) | |
Protected Member Functions | |
template<class T = TObject> | |
const T * | getObject () const |
Return a pointer to the Object already cast to the correct type. | |
bool | ensureAttached () const |
Make sure we are attached to the the DBStore. More... | |
void | storeEntryChanged (bool destructed) |
Callback function which gets called by the DBStoreEntry object if it changes. | |
Protected Attributes | |
const DBStoreEntry::EPayloadType | m_type |
Type of the payload. | |
const std::string | m_name |
Name of the payload in the database. | |
const TClass * | m_objClass |
Class of the payload if type is c_Object. | |
const bool | m_isArray |
True if the payload is an array of objects. | |
const bool | m_isRequired |
True if the payload is required, otherwise no errors will be raised if it cannot be found. | |
DBStoreEntry * | m_entry |
Pointer to the entry in the DBStore. | |
bool | m_changed {false} |
Internal flag whether the object has changed since we last checked. | |
std::vector< std::pair< std::function< void(const std::string &)>, bool > > | m_callbacks |
List of all registered callback functions. | |
Class for accessing objects in the database.
Definition at line 21 of file DBObjPtr.h.
|
inlineexplicit |
Constructor to access an object in the DBStore.
name | Name under which the object is stored in the database (and DBStore). |
required | If false don't emit an error if the payload cannot be found. If the same payload is requested in different places then all occurences need to specify false here to suppress any payload error messages. |
Definition at line 31 of file DBObjPtr.h.
|
inlineinherited |
Add a callback method.
The given method will be called whenever there is a new database entry for this DBAccessor.
callback | function pointer to a callback function |
onDestruction | if true the callback will not be called for each change but only when the Database entry is deleted and can be used to remove dangling pointers to the entry. |
Definition at line 118 of file DBAccessorBase.h.
|
inlineinherited |
Add a callback method.
The given method will be called whenever there is a new database entry for this DBAccessor. The one parameter is the name of the DB entry which changed (in case the same callback method is to be used for multiple payloads.
callback | function pointer to a callback function |
onDestruction | if true the callback will not be called for each change but only when the Database entry is deleted and can be used to remove dangling pointers to the entry. |
Definition at line 105 of file DBAccessorBase.h.
|
inlineinherited |
Add a callback method of an object.
The given method will be called whenever there is a new database entry for this DBAccessor.
object | The object with the callback method. |
callback | The callback method. |
Definition at line 130 of file DBAccessorBase.h.
|
inlineprotectedinherited |
Make sure we are attached to the the DBStore.
If not try to reconnect
Definition at line 171 of file DBAccessorBase.h.
|
inlineinherited |
Get the intra-run boundaries, if any.
If the intra-run dependency is by event number, the event numbers used as boundaries are returned.
Definition at line 157 of file DBAccessorBase.h.
|
inlineinherited |
Check whether a valid object was obtained from the database.
Definition at line 72 of file DBAccessorBase.h.