DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
Defines base class for cache of template objects. More...
#include <Configuration.hpp>
Classes | |
class | AttributeConverter |
Virtual converter class. More... | |
class | AttributeConverterBase |
struct | CallbackPreSubscription |
struct | CallbackSubscription |
Public Types | |
typedef void(*) | notify(const std::vector< ConfigurationChange * > &changed_classes, void *parameter) |
The user notification callback function which is invoked in case of changes. | |
typedef void(*) | pre_notify(void *parameter) |
The user notification callback function which is invoked before changes are going to be applied. | |
typedef CallbackSubscription * | CallbackId |
Callback identifier. | |
Public Member Functions | |
Configuration (const std::string &spec) | |
Constructor to build a configuration object using implementation plug-in. | |
Configuration () | |
const std::string & | get_impl_spec () const noexcept |
const std::string & | get_impl_name () const noexcept |
const std::string & | get_impl_param () const noexcept |
~Configuration () noexcept | |
Destructor to destroy a configuration object. | |
CallbackId | subscribe (const ConfigurationSubscriptionCriteria &criteria, notify user_cb, void *user_param=nullptr) |
Subscribe on configuration changes. | |
CallbackId | subscribe (pre_notify user_cb, void *user_param=nullptr) |
Subscribe on pre-notification on configuration changes. | |
void | unsubscribe (CallbackId cb_handler=0) |
Remove callback function. | |
template<class T > | |
bool | is_valid (const T *object) noexcept |
Checks validity of pointer to an objects of given user class. | |
template<class T > | |
void | update (const std::vector< std::string > &modified, const std::vector< std::string > &removed, const std::vector< std::string > &created) noexcept |
Update cache of objects in case of modification. | |
void | update_cache (std::vector< ConfigurationChange * > &changes) noexcept |
System function invoked in case of modifications. | |
template<class T > | |
void | _reset_objects () noexcept |
Update state of objects after abort operations. | |
void | unread_all_objects (bool unread_implementation_objs=false) noexcept |
Mark object of given template class as unread (multi-thread unsafe). | |
void | unread_template_objects () noexcept |
Unread all template (i.e. set their state as uninitialized) objects. | |
void | unread_implementation_objects (dunedaq::conffwk::ObjectState state) noexcept |
Unread implementation objects (i.e. clear their cache). | |
void | create (const std::string &at, const std::string &class_name, const std::string &id, ConfigObject &object) |
Create new object by class name and object id. | |
void | create (const ConfigObject &at, const std::string &class_name, const std::string &id, ConfigObject &object) |
Create new object by class name and object id. | |
template<class T > | |
const T * | create (const std::string &at, const std::string &id, bool init_object=false) |
Create object of given class by identity and instantiate the template parameter with it. | |
template<class T > | |
const T * | create (const DalObject &at, const std::string &id, bool init_object=false) |
Create object of given class by identity and instantiate the template parameter with it. | |
void | destroy_obj (ConfigObject &object) |
Destroy object. | |
template<class T > | |
void | destroy (T &obj) |
Destroy object of given class. | |
bool | test_object (const std::string &class_name, const std::string &id, unsigned long rlevel=0, const std::vector< std::string > *rclasses=0) |
Test the object existence. | |
void | get (const std::string &class_name, const std::string &id, ConfigObject &object, unsigned long rlevel=0, const std::vector< std::string > *rclasses=0) |
Get object by class name and object id (multi-thread safe). | |
void | get (const std::string &class_name, std::vector< ConfigObject > &objects, const std::string &query="", unsigned long rlevel=0, const std::vector< std::string > *rclasses=0) |
Get all objects of class. | |
void | get (const ConfigObject &obj_from, const std::string &query, std::vector< ConfigObject > &objects, unsigned long rlevel=0, const std::vector< std::string > *rclasses=0) |
Get path between objects. | |
template<class T > | |
const T * | get (const std::string &id, bool init_children=false, bool init=true, unsigned long rlevel=0, const std::vector< std::string > *rclasses=0) |
Get object of given class by identity and instantiate the template parameter with it (multi-thread safe). | |
template<class T > | |
const T * | get (ConfigObject &obj, bool init_children=false, bool init=true) |
Get object of given class by object reference and instantiate the template parameter with it (multi-thread safe). | |
template<class T > | |
void | get (std::vector< const T * > &objects, bool init_children=false, bool init=true, const std::string &query="", unsigned long rlevel=0, const std::vector< std::string > *rclasses=0) |
Get all objects of given class and instantiate a vector of the template parameters object with it (multi-thread safe). | |
template<class T > | |
const T * | get (ConfigObject &obj, const std::string &id) |
Generate object of given class by object reference and instantiate the template parameter with it (multi-thread safe). | |
template<class T > | |
const T * | find (const std::string &id) |
Find object of given class (multi-thread safe). | |
template<class T > | |
const T * | ref (ConfigObject &obj, const std::string &name, bool init=false) |
Get signle value of object's relation and instantiate result with it (multi-thread safe). | |
template<class T > | |
void | ref (ConfigObject &obj, const std::string &name, std::vector< const T * > &objects, bool init=false) |
Get multiple values of object's relation and instantiate result with them (multi-thread safe). | |
template<class T , class V > | |
void | referenced_by (const T &obj, std::vector< const V * > &objects, const std::string &relationship_name="*", bool check_composite_only=true, bool init=false, unsigned long rlevel=0, const std::vector< std::string > *rclasses=nullptr) |
Get template DAL objects holding references on this object via given relationship (multi-thread safe). | |
std::vector< const DalObject * > | referenced_by (const DalObject &obj, const std::string &relationship_name="*", bool check_composite_only=true, bool upcast_unregistered=true, bool init=false, unsigned long rlevel=0, const std::vector< std::string > *rclasses=nullptr) |
Get DAL objects holding references on this object via given relationship (multi-thread safe). | |
template<class TARGET , class SOURCE > | |
const TARGET * | cast (const SOURCE *s) noexcept |
Cast objects from one class to another (multi-thread safe). | |
template<class T > | |
void | downcast_dal_objects (const std::vector< const T * > &objs, bool, std::vector< const DalObject * > &result) |
template<class T > | |
void | downcast_dal_object (const T *obj, bool, std::vector< const DalObject * > &result) |
template<class T > | |
const T * | _find (const std::string &id) |
Multi-thread unsafe version of find(const std::string&) method. | |
template<class T > | |
const T * | _ref (ConfigObject &obj, const std::string &name, bool read_children) |
Multi-thread unsafe version of ref(ConfigObject&, const std::string&, bool); The method should not be used by user. | |
template<class T > | |
void | _ref (ConfigObject &obj, const std::string &name, std::vector< const T * > &results, bool read_children) |
Multi-thread unsafe version of ref(ConfigObject&, const std::string&, std::vector<const T*>&, bool); The method should not be used by user. | |
bool | try_cast (const std::string &target, const std::string &source) noexcept |
Checks if cast from source class to target class is allowed. | |
bool | try_cast (const std::string *target, const std::string *source) noexcept |
bool | is_superclass_of (const std::string &target, const std::string &source) noexcept |
bool | is_superclass_of (const std::string *target, const std::string *source) noexcept |
bool | loaded () const noexcept |
Check if database is correctly loaded. | |
void | load (const std::string &db_name) |
Load database according to the name. If name is empty, take it from TDAQ_DB_NAME and TDAQ_DB_DATA environment variables. | |
void | unload () |
Unload database. | |
void | create (const std::string &db_name, const std::list< std::string > &includes) |
Create database. | |
bool | is_writable (const std::string &db_name) const |
Get write access status. | |
void | add_include (const std::string &db_name, const std::string &include) |
Add include file to existing database. | |
void | remove_include (const std::string &db_name, const std::string &include) |
Remove include file. | |
void | get_includes (const std::string &db_name, std::list< std::string > &includes) const |
Get include files. | |
void | get_updated_dbs (std::list< std::string > &dbs) const |
Get list of updated files to be committed. | |
void | set_commit_credentials (const std::string &user, const std::string &password) |
Set commit credentials. | |
void | commit (const std::string &log_message="") |
Commit database changes. | |
void | abort () |
Abort database changes. | |
void | prefetch_all_data () |
Prefetch all data into client cache. | |
std::vector< dunedaq::conffwk::Version > | get_changes () |
Get new conffwk versions. | |
std::vector< dunedaq::conffwk::Version > | get_versions (const std::string &since, const std::string &until, dunedaq::conffwk::Version::QueryType type=dunedaq::conffwk::Version::query_by_date, bool skip_irrelevant=true) |
Get repository versions in interval. | |
const dunedaq::conffwk::class_t & | get_class_info (const std::string &class_name, bool direct_only=false) |
The method provides access to description of class. | |
void | export_schema (boost::property_tree::ptree &tree, const std::string &classes="", bool direct_only=false) |
Export configuration schema into ptree. | |
void | export_data (boost::property_tree::ptree &tree, const std::string &classes="", const std::string &objects="", const std::string &files="", const std::string &empty_array_item="") |
Export configuration data into ptree. | |
template<class T > | |
void | register_converter (AttributeConverter< T > *object) noexcept |
Register user function for attribute conversion. | |
template<class T > | |
void | convert (T &value, const ConfigObject &obj, const std::string &attr_name) noexcept |
Converts single value. | |
template<class T > | |
void | convert2 (std::vector< T > &value, const ConfigObject &obj, const std::string &attr_name) noexcept |
Converts vector of single values. | |
void | print_profiling_info () noexcept |
Print out profiling information. | |
const conffwk::fmap< conffwk::fset > & | superclasses () const noexcept |
const conffwk::fmap< conffwk::fset > & | subclasses () const |
std::vector< std::string > | classes_in_python () const |
void | print (std::ostream &) const noexcept |
Prints out details of configuration object. | |
void | add_action (ConfigAction *ac) |
void | remove_action (ConfigAction *ac) |
std::unordered_map< std::string, std::unordered_map< std::string, std::string > > | attributes_pybind (const std::string &class_name, bool all) |
std::vector< std::string > | get_class_list () const |
ConfigObject * | create_and_return_obj_pybind (const std::string &at, const std::string &class_name, const std::string &id) |
ConfigObject * | create_and_return_obj_pybind (const ConfigObject &at, const std::string &class_name, const std::string &id) |
ConfigObject * | get_obj_pybind (const std::string &class_name, const std::string &id) |
std::vector< ConfigObject > * | get_objs_pybind (const std::string &class_name, const std::string &query="") |
std::unordered_map< std::string, std::unordered_map< std::string, std::string > > | relations_pybind (const std::string &class_name, bool all) |
std::list< std::string > * | return_includes_pybind (const std::string &db_name) |
std::vector< std::string > | subclasses_pybind (const std::string &class_name, bool all) |
std::vector< std::string > | superclasses_pybind (const std::string &class_name, bool all) |
Static Public Member Functions | |
static void | system_cb (std::vector< ConfigurationChange * > &, Configuration *) noexcept |
System callback function invoked in case of modifications. | |
static void | system_pre_cb (Configuration *) noexcept |
System callback function invoked in case of pre-modifications. | |
Private Types | |
typedef std::set< CallbackSubscription *, std::less< CallbackSubscription * > > | CallbackSet |
typedef std::set< CallbackPreSubscription *, std::less< CallbackPreSubscription * > > | PreCallbackSet |
Private Member Functions | |
void | reset_subscription () |
void | _unread_template_objects () noexcept |
void | _unread_implementation_objects (dunedaq::conffwk::ObjectState state) noexcept |
void | _get (const std::string &class_name, const std::string &id, ConfigObject &object, unsigned long rlevel, const std::vector< std::string > *rclasses) |
template<class T > | |
const T * | _get (const std::string &id, bool init_children=false, bool init=true, unsigned long rlevel=0, const std::vector< std::string > *rclasses=0) |
template<class T > | |
const T * | _get (ConfigObject &obj, bool init_children=false, bool init=true) |
template<class T > | |
void | _get (std::vector< const T * > &objects, bool init_children=false, bool init=true, const std::string &query="", unsigned long rlevel=0, const std::vector< std::string > *rclasses=0) |
template<class T > | |
DalObject * | _make_instance (ConfigObject &obj, const std::string &uid) |
const dunedaq::conffwk::class_t & | _get_class_info (const std::string &class_name, bool direct_only=false) |
void | set_subclasses () noexcept |
void | set_class_domain_map () |
void | update_classes () noexcept |
std::deque< std::set< std::string > > | find_class_domains () |
void | rename_object (ConfigObject &obj, const std::string &new_id) |
Cache of template object of given type. | |
CallbackSubscription * | find_callback (CallbackId cb_handler) const |
void | action_on_update (const ConfigObject &obj, const std::string &name) |
Configuration (const Configuration &) | |
Configuration & | operator= (const Configuration &) |
Static Private Member Functions | |
static void | update_impl_objects (conffwk::pmap< conffwk::map< ConfigObjectImpl * > * > &cache, ConfigurationChange &change, const std::string *class_name) |
static std::string | mk_ref_ex_text (const char *what, const std::string &cname, const std::string &rname, const ConfigObject &obj) noexcept |
static std::string | mk_ref_by_ex_text (const std::string &cname, const std::string &rname, const ConfigObject &obj) noexcept |
Private Attributes | |
conffwk::map< dunedaq::conffwk::class_t * > | p_direct_classes_desc_cache |
conffwk::map< dunedaq::conffwk::class_t * > | p_all_classes_desc_cache |
std::atomic< uint_least64_t > | p_number_of_cache_hits |
std::atomic< uint_least64_t > | p_number_of_template_object_created |
std::atomic< uint_least64_t > | p_number_of_template_object_read |
conffwk::fmap< conffwk::fset > | p_superclasses |
conffwk::fmap< conffwk::fset > | p_subclasses |
conffwk::fmap< uint > | p_class_domain_map |
conffwk::map< std::list< AttributeConverterBase * > * > | m_convert_map |
ConfigurationImpl * | m_impl |
std::string | m_impl_spec |
std::string | m_impl_name |
std::string | m_impl_param |
void * | m_shlib_h |
CallbackSet | m_callbacks |
PreCallbackSet | m_pre_callbacks |
std::list< ConfigAction * > | m_actions |
DalRegistry | m_registry |
std::mutex | m_impl_mutex |
std::mutex | m_tmpl_mutex |
std::mutex | m_actn_mutex |
std::mutex | m_else_mutex |
Friends | |
class | DalObject |
class | ConfigObject |
class | ConfigurationImpl |
class | DalRegistry |
Defines base class for cache of template objects.
The class is used as a base class for any cached template object. It defines:
\brief Provides abstract interface to database data. The class provides interfaces to data access and notification on data changes which are independent from the database implementation. The class is an entry point to the database information. It provides access to the database objects by name of the class and optionally (for named objects) by object identities. Normally, user should use this class to open/close database and to access objects via template \c get methods invoked with classes generated by the genconffwk utility. Below there is brief description of main methods. Most of then can only be used after successful initialization (i.e. database load) of the Configuration object. Methods throw exceptions in case of an error unless \b noexcept is explicitly used in their specification. The following exceptions can be thrown: - dunedaq::conffwk::Generic is used to report most of the problems (bad DB, wrong parameter, plug-in specific, etc.) - dunedaq::conffwk::NotFound the conffwk object accessed by ID is not found, class accessed by name is not found - dunedaq::conffwk::DeletedObject accessing template object that has been deleted (via notification or by the user's code) All above exceptions have common class dunedaq::conffwk::Exception, that can be used to catch all of them.
To get data a database can be opened, closed and it's state can be checked by the following methods:
To create or to modify data a database the following methods can be used:
The access to the objects is provided via two main methods:
Below there is example to read all computer objects
For objects of classes generated by genconffwk there are analogous template methods which in addition store pointers to objects in the cache and which to be used by end-user: - get(const std::string& id, bool, bool, unsigned long, const std::vector<std::string> *) return const pointer to object of given user class - get(std::vector<const T*>& objects, bool, bool, const std::string& query, unsigned long, const std::vector<std::string> *) fills vector of objects of given user class Below there is an example for generated \b dal package:
\par Notification To subscribe and unsubscribe on changes it is necessary to create a subscription criteria (see ConfigurationSubscriptionCriteria class for more information). When a subscription criteria object is created, the following methods can be used: - subscribe() subscribe on any changes according criteria - unsubscribe() unsubscribe above changes (the CallbackId is returned by above method)
Definition at line 221 of file Configuration.hpp.
Callback identifier.
It uniquely identifies a callback inside given process. It is returned by subscribe() method and must be used as parameter for the unsubscribe() methods.
Definition at line 330 of file Configuration.hpp.
|
private |
Definition at line 1677 of file Configuration.hpp.
void(*) dunedaq::conffwk::Configuration::notify(const std::vector< ConfigurationChange * > &changed_classes, void *parameter) |
The user notification callback function which is invoked in case of changes.
changed_classes | vector of changed classes |
parameter | user-defined parameter |
Definition at line 287 of file Configuration.hpp.
void(*) dunedaq::conffwk::Configuration::pre_notify(void *parameter) |
The user notification callback function which is invoked before changes are going to be applied.
parameter | user-defined parameter |
Definition at line 299 of file Configuration.hpp.
|
private |
Definition at line 1678 of file Configuration.hpp.
dunedaq::Configuration::Configuration | ( | const std::string & | spec | ) |
Constructor to build a configuration object using implementation plug-in.
The constructor expects parameter in format "plugin-name:plugin-parameter". The plugin-name is used to get implementation shared library by adding "lib" prefix and ".so" suffix, e.g. "oksconflibs" -> "liboksconflibs.so". The plugin-parameter is optional; if non-empty, it is passed to the plug-in constructor.
spec | database name to be understood by the database implementation |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 102 of file Configuration.cpp.
dunedaq::Configuration::Configuration | ( | ) |
Definition at line 97 of file Configuration.cpp.
|
noexcept |
Destructor to destroy a configuration object.
The destructor unloads database for given database implementation and destroys all user objects in cache.
Definition at line 214 of file Configuration.cpp.
|
private |
const T * dunedaq::conffwk::Configuration::_find | ( | const std::string & | id | ) |
Multi-thread unsafe version of find(const std::string&) method.
dunedaq::conffwk::Generic | in case of an error |
Definition at line 55 of file Configuration.hxx.
|
private |
dunedaq::conffwk::Generic |
Definition at line 40 of file Configuration.hxx.
|
private |
dunedaq::conffwk::Generic | or dunedaq::conffwk::NotFound |
|
private |
dunedaq::conffwk::Generic |
Definition at line 32 of file Configuration.hxx.
|
private |
dunedaq::conffwk::Generic |
Definition at line 65 of file Configuration.hxx.
|
private |
Definition at line 895 of file Configuration.cpp.
|
inlineprivate |
dunedaq::conffwk::Generic |
Definition at line 973 of file Configuration.hpp.
const T * dunedaq::conffwk::Configuration::_ref | ( | ConfigObject & | obj, |
const std::string & | name, | ||
bool | read_children ) |
Multi-thread unsafe version of ref(ConfigObject&, const std::string&, bool); The method should not be used by user.
dunedaq::conffwk::Generic | in case of an error |
Definition at line 93 of file Configuration.hxx.
void dunedaq::conffwk::Configuration::_ref | ( | ConfigObject & | obj, |
const std::string & | name, | ||
std::vector< const T * > & | results, | ||
bool | read_children ) |
Multi-thread unsafe version of ref(ConfigObject&, const std::string&, std::vector<const T*>&, bool); The method should not be used by user.
dunedaq::conffwk::Generic | in case of an error |
Definition at line 114 of file Configuration.hxx.
|
noexcept |
Update state of objects after abort operations.
It is used by automatically generated data access libraries.
Definition at line 318 of file Configuration.hxx.
|
privatenoexcept |
Definition at line 661 of file Configuration.cpp.
|
privatenoexcept |
Definition at line 655 of file Configuration.cpp.
void dunedaq::Configuration::abort | ( | ) |
Abort database changes.
The method rolls back non-committed database modifications.
dunedaq::conffwk::Generic | in case of an error |
Definition at line 601 of file Configuration.cpp.
|
private |
Definition at line 80 of file Configuration.cpp.
void dunedaq::Configuration::add_action | ( | ConfigAction * | ac | ) |
Add global action performed by user code on db [un]load and updates.
Definition at line 66 of file Configuration.cpp.
void dunedaq::Configuration::add_include | ( | const std::string & | db_name, |
const std::string & | include ) |
Add include file to existing database.
The method adds (and loads) existing include file to the database.
db_name | name of database file to be included |
include | file to be included |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 474 of file Configuration.cpp.
std::unordered_map< std::string, std::unordered_map< std::string, std::string > > dunedaq::Configuration::attributes_pybind | ( | const std::string & | class_name, |
bool | all ) |
Definition at line 1999 of file Configuration.cpp.
|
inlinenoexcept |
Cast objects from one class to another (multi-thread safe).
Try to cast object SOURCE to TARGET. Returns 0 if not successful. Do not use the normal dynamic_cast<T>() for database classes.
Definition at line 950 of file Configuration.hpp.
std::vector< std::string > dunedaq::conffwk::Configuration::classes_in_python | ( | ) | const |
void dunedaq::Configuration::commit | ( | const std::string & | log_message = "" | ) |
Commit database changes.
The method commits the changes after a database was modified.
log_message | log information |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 580 of file Configuration.cpp.
|
noexcept |
Converts single value.
The method is used by the code generated by the genconffwk utility.
Definition at line 387 of file Configuration.hxx.
|
noexcept |
Converts vector of single values.
The method is used by the code generated by the genconffwk utility.
Definition at line 401 of file Configuration.hxx.
void dunedaq::Configuration::create | ( | const ConfigObject & | at, |
const std::string & | class_name, | ||
const std::string & | id, | ||
ConfigObject & | object ) |
Create new object by class name and object id.
The method tries to create an object with given id in given class. If found, the method fills 'object'
reference.
at | create new object at the same database file where 'at' object is located |
class_name | name of the class |
id | object identity |
object | returned value in case of success |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 807 of file Configuration.cpp.
const T * dunedaq::conffwk::Configuration::create | ( | const DalObject & | at, |
const std::string & | id, | ||
bool | init_object = false ) |
Create object of given class by identity and instantiate the template parameter with it.
Such method to be used for user classes generated by the genconffwk utility.
at | an existing object of class generated by genconffwk to define location of the file where to store new object |
id | object identity |
init_object | if true, initialize object's attributes and relationships |
dunedaq::conffwk::Generic | in case of an error |
void dunedaq::Configuration::create | ( | const std::string & | at, |
const std::string & | class_name, | ||
const std::string & | id, | ||
ConfigObject & | object ) |
Create new object by class name and object id.
The method tries to create an object with given id in given class. If found, the method fills 'object'
reference.
at | database file where to create new object |
class_name | name of the class |
id | object identity |
object | returned value in case of success |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 791 of file Configuration.cpp.
const T * dunedaq::conffwk::Configuration::create | ( | const std::string & | at, |
const std::string & | id, | ||
bool | init_object = false ) |
Create object of given class by identity and instantiate the template parameter with it.
Such method to be used for user classes generated by the genconffwk utility.
at | database file where to create new object |
id | object identity |
init_object | if true, initialise object's attributes and relationships |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 12 of file Configuration.hxx.
void dunedaq::Configuration::create | ( | const std::string & | db_name, |
const std::list< std::string > & | includes ) |
Create database.
The method creates database according to the name and list of others database files to be included.
db_name | name of new database file (must be an absolute path to non-existing file) |
includes | optional list of others database files to be included |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 431 of file Configuration.cpp.
ConfigObject * dunedaq::Configuration::create_and_return_obj_pybind | ( | const ConfigObject & | at, |
const std::string & | class_name, | ||
const std::string & | id ) |
Definition at line 2043 of file Configuration.cpp.
ConfigObject * dunedaq::Configuration::create_and_return_obj_pybind | ( | const std::string & | at, |
const std::string & | class_name, | ||
const std::string & | id ) |
Definition at line 2036 of file Configuration.cpp.
void dunedaq::conffwk::Configuration::destroy | ( | T & | obj | ) |
Destroy object of given class.
The method tries to destoy given object.
obj | the object's reference |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 24 of file Configuration.hxx.
void dunedaq::Configuration::destroy_obj | ( | ConfigObject & | object | ) |
Destroy object.
The method tries to destroy given object.
object | the object's reference |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 824 of file Configuration.cpp.
|
inline |
Definition at line 999 of file Configuration.hpp.
|
inline |
Definition at line 990 of file Configuration.hpp.
void dunedaq::Configuration::export_data | ( | boost::property_tree::ptree & | tree, |
const std::string & | classes = "", | ||
const std::string & | objects = "", | ||
const std::string & | files = "", | ||
const std::string & | empty_array_item = "" ) |
Export configuration data into ptree.
tree | output ptree object |
classes | regex defining class names; ignore if empty |
objects | regex defining object IDs; ignore if empty |
files | regex defining data file names; ignore if empty |
empty_array_item | if provided, add this item to mark empty arrays |
dunedaq::conffwk::Generic | in case of a problem |
Definition at line 1092 of file Configuration.cpp.
void dunedaq::Configuration::export_schema | ( | boost::property_tree::ptree & | tree, |
const std::string & | classes = "", | ||
bool | direct_only = false ) |
Export configuration schema into ptree.
tree | output ptree object |
classes | regex defining class names; all classes if empty |
direct_only | if true is set explicitly, return descriptions of direct attributes, relationships, super- and subclasses; by default return all descriptions taking into account inheritance |
dunedaq::conffwk::Generic | in case of a problem |
Definition at line 948 of file Configuration.cpp.
|
inline |
Find object of given class (multi-thread safe).
Could be used for generated template objects.
id | ID of object |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 838 of file Configuration.hpp.
|
private |
Definition at line 1243 of file Configuration.cpp.
|
private |
Definition at line 702 of file Configuration.cpp.
|
inline |
Get object of given class by object reference and instantiate the template parameter with it (multi-thread safe).
Such method to be used for user classes generated by the genconffwk utility.
obj | reference to conffwk object, that is used to instantiate template object |
init_children | if true, the referenced objects are initialized |
init | if true, the object's attributes and relationships are read |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 771 of file Configuration.hpp.
|
inline |
Generate object of given class by object reference and instantiate the template parameter with it (multi-thread safe).
Such method to be used to generate template objects.
obj | reference to conffwk object, that is used to instantiate template object |
id | ID of generated object could be different from obj.UID() |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 817 of file Configuration.hpp.
void dunedaq::Configuration::get | ( | const ConfigObject & | obj_from, |
const std::string & | query, | ||
std::vector< ConfigObject > & | objects, | ||
unsigned long | rlevel = 0, | ||
const std::vector< std::string > * | rclasses = 0 ) |
Get path between objects.
The method returns all objects which are in the path starting from source object matching to the path query pattern.
obj_from | object to start from |
query | path query |
objects | returned value in case of success |
rlevel | optional references level to optimize performance (defines how many objects referenced by found objects have also to be read to the implementation cache) |
rclasses | optional array of class names to optimize performance (defines which referenced objects have to be read to the implementation cache) |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 282 of file Configuration.cpp.
void dunedaq::Configuration::get | ( | const std::string & | class_name, |
const std::string & | id, | ||
ConfigObject & | object, | ||
unsigned long | rlevel = 0, | ||
const std::vector< std::string > * | rclasses = 0 ) |
Get object by class name and object id (multi-thread safe).
The method searches an object with given id within the class and all derived subclasses.
class_name | name of the class |
id | object identity |
object | returned value in case of success |
rlevel | optional references level to optimize performance (defines how many objects referenced by given object have also to be read to the implementation cache) |
rclasses | optional array of class names to optimize performance (defines which referenced objects have to be read to the implementation cache) |
dunedaq::conffwk::NotFound | exception if there is no such object or dunedaq::conffwk::Generic in case of an error |
Definition at line 240 of file Configuration.cpp.
void dunedaq::Configuration::get | ( | const std::string & | class_name, |
std::vector< ConfigObject > & | objects, | ||
const std::string & | query = "", | ||
unsigned long | rlevel = 0, | ||
const std::vector< std::string > * | rclasses = 0 ) |
Get all objects of class.
The method returns all objects of given class and objects of subclasses derived from it.
class_name | name of the class |
objects | returned value in case of success |
query | optional parameter defining selection criteria for objects of given class |
rlevel | optional references level to optimize performance (defines how many objects referenced by found objects have also to be read to the implementation cache) |
rclasses | optional array of class names to optimize performance (defines which referenced objects have to be read to the implementation cache) |
dunedaq::conffwk::NotFound | exception if there is no such class or dunedaq::conffwk::Generic in case of an error |
Definition at line 262 of file Configuration.cpp.
|
inline |
Get object of given class by identity and instantiate the template parameter with it (multi-thread safe).
Such method to be used for user classes generated by the genconffwk utility.
id | object identity |
init_children | if true, the referenced objects are initialized |
init | if true, the object's attributes and relationships are read |
rlevel | optional references level to optimize performance (defines how many objects referenced by given object have also to be read to the implementation cache) |
rclasses | optional array of class names to optimize performance (defines which referenced objects have to be read to the implementation cache) |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 747 of file Configuration.hpp.
|
inline |
Get all objects of given class and instantiate a vector of the template parameters object with it (multi-thread safe).
Such method to be used for user classes generated by the genconffwk utility.
objects | the vector is filled by the method |
init_children | if true, the referenced objects are initialized |
init | if true, the object's attributes and relationships are read |
query | optional parameter defining selection criteria for objects of given class |
rlevel | optional references level to optimize performance (defines how many objects referenced by found objects have also to be read to the implementation cache) |
rclasses | optional array of class names to optimize performance (defines which referenced objects have to be read to the implementation cache) |
dunedaq::conffwk::Generic | in case of a problem (e.g. no such class, plug-in specific problem) |
Definition at line 796 of file Configuration.hpp.
std::vector< dunedaq::conffwk::Version > dunedaq::Configuration::get_changes | ( | ) |
Get new conffwk versions.
dunedaq::conffwk::Generic | in case of an error |
Definition at line 1203 of file Configuration.cpp.
const dunedaq::conffwk::class_t & dunedaq::Configuration::get_class_info | ( | const std::string & | class_name, |
bool | direct_only = false ) |
The method provides access to description of class.
class_name | name of the class |
direct_only | if true is set explicitly, return descriptions of direct attributes, relationships, super- and subclasses; by default return all descriptions taking into account inheritance |
dunedaq::conffwk::NotFound | exception if there is no class with such name or dunedaq::conffwk::Generic in case of a problem |
Definition at line 886 of file Configuration.cpp.
std::vector< std::string > dunedaq::Configuration::get_class_list | ( | ) | const |
Definition at line 2026 of file Configuration.cpp.
|
inlinenoexcept |
Get implementation plug-in name used to build conffwk object
Definition at line 259 of file Configuration.hpp.
|
inlinenoexcept |
Get implementation plug-in parameter used to build conffwk object
Definition at line 264 of file Configuration.hpp.
|
inlinenoexcept |
Get implementation plug-in and it's parameter used to build conffwk object
Definition at line 254 of file Configuration.hpp.
void dunedaq::Configuration::get_includes | ( | const std::string & | db_name, |
std::list< std::string > & | includes ) const |
Get include files.
The method returns list of files included by given database.
db_name | name of database file |
includes | returned list of include files |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 521 of file Configuration.cpp.
ConfigObject * dunedaq::Configuration::get_obj_pybind | ( | const std::string & | class_name, |
const std::string & | id ) |
Definition at line 2051 of file Configuration.cpp.
std::vector< ConfigObject > * dunedaq::Configuration::get_objs_pybind | ( | const std::string & | class_name, |
const std::string & | query = "" ) |
Definition at line 2063 of file Configuration.cpp.
void dunedaq::Configuration::get_updated_dbs | ( | std::list< std::string > & | dbs | ) | const |
Get list of updated files to be committed.
The method returns list of uncommitted database files.
dbs | returned list of uncommitted database files |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 542 of file Configuration.cpp.
std::vector< dunedaq::conffwk::Version > dunedaq::Configuration::get_versions | ( | const std::string & | since, |
const std::string & | until, | ||
dunedaq::conffwk::Version::QueryType | type = dunedaq::conffwk::Version::query_by_date, | ||
bool | skip_irrelevant = true ) |
Get repository versions in interval.
Access historical versions.
The date/time format has to be either a date in format "yyyy-mm-dd" or date-and-time in format "yyyy-mm-dd hh:mm:ss" (UTC).
since | limit the versions committed on-or-after the specified hash key, tag or date/time; if empty, start from earliest available |
until | limit the versions committed on-or-before the specified hash key, tag or date/time; if empty, retrieve all versions until latest available |
type | define query type |
skip_irrelevant | if true, ignore changes not affecting loaded configuration |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 1218 of file Configuration.cpp.
|
noexcept |
|
noexcept |
|
noexcept |
Checks validity of pointer to an objects of given user class.
Check if the pointer to the object is a valid pointer in the cache. Dangling pointers to removed objects may appear after notification.
Definition at line 275 of file Configuration.hxx.
bool dunedaq::Configuration::is_writable | ( | const std::string & | db_name | ) | const |
Get write access status.
Check if given database file is writable by current user.
db_name | name of database |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 453 of file Configuration.cpp.
void dunedaq::Configuration::load | ( | const std::string & | db_name | ) |
Load database according to the name. If name is empty, take it from TDAQ_DB_NAME and TDAQ_DB_DATA environment variables.
dunedaq::conffwk::Generic | in case of an error |
Definition at line 304 of file Configuration.cpp.
|
noexcept |
Check if database is correctly loaded.
Check state of the database after configuration object creation.
Definition at line 298 of file Configuration.cpp.
|
staticprivatenoexcept |
Helper method to prepare exception text when template referenced_by() method fails
Definition at line 1949 of file Configuration.cpp.
|
staticprivatenoexcept |
Helper method to prepare exception text when template ref() method fails
Definition at line 1940 of file Configuration.cpp.
|
private |
void dunedaq::Configuration::prefetch_all_data | ( | ) |
Prefetch all data into client cache.
The method reads all objects defined in database into client cache.
dunedaq::conffwk::Generic | in case of an error |
Definition at line 628 of file Configuration.cpp.
|
noexcept |
Prints out details of configuration object.
For the moment only inheritance hierarchy of configuration database is printed. In future it is planned to add more details, such as:
Definition at line 1838 of file Configuration.cpp.
|
noexcept |
Print out profiling information.
The method prints out to the standard output stream profiling information of configuration object and it's implementation.
Definition at line 183 of file Configuration.cpp.
|
inline |
Get signle value of object's relation and instantiate result with it (multi-thread safe).
The method is used by the code generated by the genconffwk utility.
obj | object |
name | name of the relationship |
init | if true, the object and it's referenced objects are initialized |
dunedaq::conffwk::Generic | in case of a problem (e.g. no relationship with such name, plug-in specific problem) |
Definition at line 861 of file Configuration.hpp.
|
inline |
Get multiple values of object's relation and instantiate result with them (multi-thread safe).
The method is used by the code generated by the genconffwk utility.
obj | object |
name | name of the relationship |
objects | returned value |
init | if true, the objects and their referenced objects are initialized |
dunedaq::conffwk::Generic | in case of a problem (e.g. no relationship with such name, plug-in specific problem) |
Definition at line 881 of file Configuration.hpp.
std::vector< const DalObject * > dunedaq::conffwk::Configuration::referenced_by | ( | const DalObject & | obj, |
const std::string & | relationship_name = "*", | ||
bool | check_composite_only = true, | ||
bool | upcast_unregistered = true, | ||
bool | init = false, | ||
unsigned long | rlevel = 0, | ||
const std::vector< std::string > * | rclasses = nullptr ) |
Get DAL objects holding references on this object via given relationship (multi-thread safe).
The method returns vector of DalObject, which have references on given object via explicitly provided relationship name. If the relationship name is set to "*", then the method takes into account all relationships of all objects.
It is expected that the DAL for returned objects is generated and linked with user code. If this is not the case, then an exception will be thrown. The parameter upcast_unregistered allows to select one of the registered base classes instead. Note, this will be a random base class, not the closest based one.
The method is efficient only for composite relationships (i.e. when a parent has composite reference on this object). For generic relationships the method performs full scan of all database objects. It is not recommended at large scale to build complete graph of relations between all database object.
obj | object |
relationship_name | name of the relationship, via which the object is referenced |
upcast_unregistered | if true, try to upcast objects of classes which DAL classes are not loaded; otherwise throw exception if such DAL class is not registered |
check_composite_only | only returned composite parent objects |
init | if true, the returned objects and their referenced objects are initialized |
rlevel | optional references level to optimize performance (defines how many objects referenced by found objects have also to be read to the implementation cache) |
rclasses | optional array of class names to optimize performance (defines which referenced objects have to be read to the implementation cache) |
dunedaq::conffwk::Generic | in case of an error |
void dunedaq::conffwk::Configuration::referenced_by | ( | const T & | obj, |
std::vector< const V * > & | objects, | ||
const std::string & | relationship_name = "*", | ||
bool | check_composite_only = true, | ||
bool | init = false, | ||
unsigned long | rlevel = 0, | ||
const std::vector< std::string > * | rclasses = nullptr ) |
Get template DAL objects holding references on this object via given relationship (multi-thread safe).
The method returns objects of class V, which have references on given object via explicitly provided relationship name. If the relationship name is set to "*", then the method takes into account all relationships of all objects. The method is efficient only for composite relationships (i.e. when a parent has composite reference on this object). For generic relationships the method performs full scan of all database objects. It is not recommended at large scale to build complete graph of relations between all database object.
obj | object |
objects | returned value |
relationship_name | name of the relationship, via which the object is referenced |
check_composite_only | only returned composite parent objects |
init | if true, the returned objects and their referenced objects are initialized |
rlevel | optional references level to optimize performance (defines how many objects referenced by found objects have also to be read to the implementation cache) |
rclasses | optional array of class names to optimize performance (defines which referenced objects have to be read to the implementation cache) |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 140 of file Configuration.hxx.
|
noexcept |
Register user function for attribute conversion.
The user can register several objects which are used for attribute values conversion. The attributes conversion type is defined by the template parameter, e.g. given object to be used for string attribute values conversion, another object to be used for short unsigned integers, etc. It is possible to define several converters for each type. There is no check that given object was already registered or not. It is registered several times, the conversion will be done several times.
object | the converter object |
Definition at line 372 of file Configuration.hxx.
std::unordered_map< std::string, std::unordered_map< std::string, std::string > > dunedaq::Configuration::relations_pybind | ( | const std::string & | class_name, |
bool | all ) |
Definition at line 2071 of file Configuration.cpp.
void dunedaq::Configuration::remove_action | ( | ConfigAction * | ac | ) |
Remove global action performed by user code on db [un]load and updates.
Definition at line 73 of file Configuration.cpp.
void dunedaq::Configuration::remove_include | ( | const std::string & | db_name, |
const std::string & | include ) |
Remove include file.
The method removes existing include file from the database.
db_name | name of database file from which the include to be removed |
include | file to be removed from includes |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 497 of file Configuration.cpp.
|
private |
Cache of template object of given type.
The class defines the cache of template objects of given type. The objects are stored in cache, where the key is object-ID and the value is a pointer on template object.
The access to cache and objects insertion are provided via two get() methods:
T * get(Configuration&, ConfigObject&, bool, bool)
- get template object for given conffwk object T * get(Configuration&, const std::string&, bool, bool, unsigned long, const std::vector<std::string> *)
- get template object for given object ID \brief Get template object from cache by conffwk object. The method searches an object with id of given conffwk object within the cache. If found, the method sets given conffwk object as implementation of the templateobject and returns pointer on the template object. If there is no such object in cache, then it is created from given conffwk object.
In case of success, the new object is put into cache and pointer to the object is returned. If there is no such object for given template class, then null pointer is returned.
conffwk | the configuration object |
obj | the conffwk object used to set for the template object |
init_children | if true, the referenced objects are initialized (only applicable during creation of new object) |
init_object | if true, the object's attributes and relationships are read(only applicable during creation of new object) |
dunedaq::conffwk::Generic | is no such class for loaded configuration DB schema or in case of an error |
Get template object from cache by object's ID.
The method searches an object with given id within the cache. If found, the method returns pointer on it. If there is no such object in cache, there is an attempt to create new object. In case of success, the new object is put into cache and pointer to the object is returned. If there is no such object for given template class, then null pointer is returned.
conffwk | the configuration object |
name | object identity |
init_children | if true, the referenced objects are initialized (only applicable during creation of new object) |
init_object | if true, the object's attributes and relationships are read(only applicable during creation of new object) |
rlevel | optional references level to optimize performance (defines how many objects referenced by given object have also to be read to the implementation cache during creation of new object) |
rclasses | optional array of class names to optimize performance (defines which referenced objects have to be read to the implementation cache during creation of new object) |
dunedaq::conffwk::Generic | is no such class for loaded configuration DB schema or in case of an error |
Find template object using ID.
The method is suitable for generated template objects.
In case of success, the new object is put into cache and pointer to the object is returned. If there is no such object for given template class, then null pointer is returned.
id | ID of generated object |
dunedaq::conffwk::Generic | is no such class for loaded configuration DB schema or in case of an error |
Generate template object using conffwk object and ID.
The method searches an object with id of given conffwk object within the cache using given ID. If found, the method sets given conffwk object as implementation of the template object and returns pointer on the template object. If there is no such object in cache, then it is created from given conffwk object.
In case of success, the new object is put into cache and pointer to the object is returned. If there is no such object for given template class, then null pointer is returned.
conffwk | the configuration object |
obj | the conffwk object used to set for the template object |
id | ID of generated object |
dunedaq::conffwk::Generic | is no such class for loaded configuration DB schema or in case of an error |
Definition at line 842 of file Configuration.cpp.
|
private |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 1359 of file Configuration.cpp.
std::list< std::string > * dunedaq::Configuration::return_includes_pybind | ( | const std::string & | db_name | ) |
Definition at line 2093 of file Configuration.cpp.
|
private |
Definition at line 752 of file Configuration.cpp.
void dunedaq::Configuration::set_commit_credentials | ( | const std::string & | user, |
const std::string & | password ) |
Set commit credentials.
The method sets credentials used by commit method.
user | user name |
password | user password |
dunedaq::conffwk::Generic | in case of an error |
Definition at line 561 of file Configuration.cpp.
|
privatenoexcept |
Definition at line 681 of file Configuration.cpp.
|
inline |
std::vector< std::string > dunedaq::Configuration::subclasses_pybind | ( | const std::string & | class_name, |
bool | all ) |
Definition at line 2100 of file Configuration.cpp.
CallbackId dunedaq::conffwk::Configuration::subscribe | ( | const ConfigurationSubscriptionCriteria & | criteria, |
notify | user_cb, | ||
void * | user_param = nullptr ) |
Subscribe on configuration changes.
The method is used to make a subscription. The returned value is a subscription handler.
When subscribed changes occurred, the user callback function is invoked with changes description and parameter 'user_param' defined by user.
criteria | subscription criteria |
user_cb | user-defined callback function |
user_param | optional user-defined parameter |
dunedaq::conffwk::Generic | in case of an error |
CallbackId dunedaq::conffwk::Configuration::subscribe | ( | pre_notify | user_cb, |
void * | user_param = nullptr ) |
Subscribe on pre-notification on configuration changes.
The method is used to make complimentary subscription on pre-notification about changes, that can only be used together with real subscription on changes, i.e. using subscribe(const ConfigurationSubscriptionCriteria&, notify, void *) method.
When subscribed changes occurred, but before they are going to be applied, the user callback function is invoked with parameter 'user_param' defined by user. This subscription can be used to be informed, that some changes are took place already and will be applied immediately after user's code exits given callback function.
user_cb | user-defined callback function |
user_param | optional user-defined parameter |
dunedaq::conffwk::Generic | in case of an error |
|
inlinenoexcept |
std::vector< std::string > dunedaq::Configuration::superclasses_pybind | ( | const std::string & | class_name, |
bool | all ) |
Definition at line 2107 of file Configuration.cpp.
|
staticnoexcept |
System callback function invoked in case of modifications.
It is used by the database implementation. Only is called, when a user subscription to related class is set.
Definition at line 1574 of file Configuration.cpp.
|
staticnoexcept |
System callback function invoked in case of pre-modifications.
It is used by the database implementation. Only is called, when a user subscription is set.
Definition at line 1744 of file Configuration.cpp.
bool dunedaq::Configuration::test_object | ( | const std::string & | class_name, |
const std::string & | id, | ||
unsigned long | rlevel = 0, | ||
const std::vector< std::string > * | rclasses = 0 ) |
Test the object existence.
The method searches an object with given id within the class and all derived subclasses. If found, the method returns true, otherwise the method return false.
class_name | name of the class |
id | object identity |
rlevel | optional references level to optimize performance (defines how many objects referenced by given object have also to be read to the implementation cache) |
rclasses | optional array of class names to optimize performance (defines which referenced objects have to be read to the implementation cache) |
dunedaq::conffwk::Generic | if there is no such class or in case of an error |
Definition at line 775 of file Configuration.cpp.
|
noexcept |
Checks if cast from source class to target class is allowed.
target | name of desired class (e.g. try to cast object of "source" class to this "target" one) |
source | name of casted object class |
Definition at line 1860 of file Configuration.cpp.
|
noexcept |
Definition at line 1866 of file Configuration.cpp.
void dunedaq::Configuration::unload | ( | ) |
Unload database.
The database should be previously loaded. The method destroys all user objects from cache (i.e. created via conffwk and template get methods) and frees all DB resources allocated by the implementation plug-in.
dunedaq::conffwk::Generic | in case of an error |
Definition at line 368 of file Configuration.cpp.
|
noexcept |
Mark object of given template class as unread (multi-thread unsafe).
Is used by automatically generated data access libraries code after reading parameters for substitution, since cache contains objects with non-substituted attributes. Should not be explicitly used by user.
The method is used by the unread_all_objects() method.
cache_ptr | pointer to the cache of template object of given template class (has to be downcasted) |
Rename object of given template class (multi-thread unsafe).
Is used by automatically generated data access libraries when an object has been renamed by user's code. Should not be explicitly used by user.
The method is used by the unread_all_objects() method.
cache_ptr | pointer to the cache of template object of given template class (has to be downcasted) |
old_id | old object ID |
new_id | new object ID |
Update state of all objects in cache after abort / commit operations.
It is used by automatically generated data access libraries.
Unread all template (i.e. set their state as uninitialized) and implementation objects (i.e. clear their cache).
Unread template objects result changing their state to uninitialized. They will be re-initialized, when accessed by user code. This feature is used by attribute converter methods using unread_all_objects().
Unread implementation objects result removing any information from implementation cache, e.g. clear any object attributes data read from server. One may use the unread_all_objects() to re-read database after reload.
unread_implementation_objs | if true, clear implementation objects; otherwise only template objects are unread and the implementation conffwk objects are still valid. |
Definition at line 644 of file Configuration.cpp.
|
inlinenoexcept |
Unread implementation objects (i.e. clear their cache).
This results removing any information from implementation cache, e.g. clear any object attributes data read from server.
state | set state of implementation objects after unread; is set to "Unknown" after abort() |
Definition at line 543 of file Configuration.hpp.
|
inlinenoexcept |
Unread all template (i.e. set their state as uninitialized) objects.
Unread template objects result changing their state to uninitialized. They will be re-initialized, when accessed by user code. This feature is used by attribute converter methods using unread_all_objects().
Definition at line 527 of file Configuration.hpp.
void dunedaq::Configuration::unsubscribe | ( | CallbackId | cb_handler = 0 | ) |
Remove callback function.
Remove callback function previously added by the subscribe() methods. If the parameter is a non-null value, it must be equal to id returned by the add_callback() method. Otherwise the method stops all subscription.
dunedaq::conffwk::Generic | in case of an error (e.g. bad ID, plugin-specific problems) |
Definition at line 1310 of file Configuration.cpp.
|
noexcept |
Update cache of objects in case of modification.
Only is called, when a user subscription to related class is set. It is used by automatically generated data access libraries.
modified | vector of modified objects of given user class (objects to be re-read in cache) |
removed | vector of removed objects of given user class (objects to be removed from cache) |
created | vector of created objects of given user class (objects to be reset in cache, if they were removed) |
Definition at line 299 of file Configuration.hxx.
|
noexcept |
System function invoked in case of modifications.
It is used by the database implementation. Update cache of template DB objects.
Definition at line 1481 of file Configuration.cpp.
|
privatenoexcept |
Definition at line 692 of file Configuration.cpp.
|
staticprivate |
Definition at line 1409 of file Configuration.cpp.
|
friend |
Definition at line 224 of file Configuration.hpp.
|
friend |
Definition at line 225 of file Configuration.hpp.
|
friend |
Definition at line 223 of file Configuration.hpp.
|
friend |
Definition at line 228 of file Configuration.hpp.
|
private |
Definition at line 1701 of file Configuration.hpp.
|
mutableprivate |
Definition at line 1710 of file Configuration.hpp.
|
private |
Definition at line 1680 of file Configuration.hpp.
|
private |
Definition at line 1458 of file Configuration.hpp.
|
mutableprivate |
Definition at line 1711 of file Configuration.hpp.
|
private |
Definition at line 1661 of file Configuration.hpp.
|
mutableprivate |
Definition at line 1708 of file Configuration.hpp.
|
private |
Definition at line 1663 of file Configuration.hpp.
|
private |
Definition at line 1664 of file Configuration.hpp.
|
private |
Definition at line 1662 of file Configuration.hpp.
|
private |
Definition at line 1681 of file Configuration.hpp.
|
private |
Definition at line 1706 of file Configuration.hpp.
|
private |
Definition at line 1668 of file Configuration.hpp.
|
mutableprivate |
Definition at line 1709 of file Configuration.hpp.
|
private |
Definition at line 1293 of file Configuration.hpp.
|
private |
Definition at line 1431 of file Configuration.hpp.
|
private |
Definition at line 1292 of file Configuration.hpp.
|
private |
Definition at line 1422 of file Configuration.hpp.
|
private |
Definition at line 1423 of file Configuration.hpp.
|
private |
Definition at line 1424 of file Configuration.hpp.
|
private |
Definition at line 1430 of file Configuration.hpp.
|
private |
Definition at line 1429 of file Configuration.hpp.