|
DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
Defines base class for cache of template objects. More...
#include <Configuration.hpp>
Classes | |
| struct | CallbackSubscription |
| struct | CallbackPreSubscription |
| class | AttributeConverterBase |
| class | AttributeConverter |
| Virtual converter class. More... | |
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 |
| Unread all template (i.e. set their state as uninitialized) and implementation objects (i.e. clear their cache). | |
| 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) |
| const std::string & | get_schema_path_pybind (const std::string &class_name) |
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 228 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 337 of file Configuration.hpp.
|
private |
Definition at line 1684 of file Configuration.hpp.
| typedef 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 294 of file Configuration.hpp.
| typedef 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 306 of file Configuration.hpp.
|
private |
Definition at line 1685 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 109 of file Configuration.cpp.
| dunedaq::Configuration::Configuration | ( | ) |
Definition at line 104 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 221 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 902 of file Configuration.cpp.
|
inlineprivate |
| dunedaq::conffwk::Generic |
Definition at line 980 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 668 of file Configuration.cpp.
|
privatenoexcept |
Definition at line 662 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 608 of file Configuration.cpp.
|
private |
Definition at line 87 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 73 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 481 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 2006 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 957 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 587 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 814 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 798 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 438 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 2050 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 2043 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 831 of file Configuration.cpp.
|
inline |
Definition at line 1006 of file Configuration.hpp.
|
inline |
Definition at line 997 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 1099 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 955 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 845 of file Configuration.hpp.
|
private |
Definition at line 1250 of file Configuration.cpp.
|
private |
Definition at line 709 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 778 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 824 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 289 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 247 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 269 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 754 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 803 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 1210 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 893 of file Configuration.cpp.
| std::vector< std::string > dunedaq::Configuration::get_class_list | ( | ) | const |
Definition at line 2033 of file Configuration.cpp.
|
inlinenoexcept |
Get implementation plug-in name used to build conffwk object
Definition at line 266 of file Configuration.hpp.
|
inlinenoexcept |
Get implementation plug-in parameter used to build conffwk object
Definition at line 271 of file Configuration.hpp.
|
inlinenoexcept |
Get implementation plug-in and it's parameter used to build conffwk object
Definition at line 261 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 528 of file Configuration.cpp.
| ConfigObject * dunedaq::Configuration::get_obj_pybind | ( | const std::string & | class_name, |
| const std::string & | id ) |
Definition at line 2058 of file Configuration.cpp.
| std::vector< ConfigObject > * dunedaq::Configuration::get_objs_pybind | ( | const std::string & | class_name, |
| const std::string & | query = "" ) |
Definition at line 2070 of file Configuration.cpp.
|
nodiscard |
Definition at line 2121 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 549 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 1225 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 460 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 311 of file Configuration.cpp.
|
noexcept |
Check if database is correctly loaded.
Check state of the database after configuration object creation.
Definition at line 305 of file Configuration.cpp.
|
staticprivatenoexcept |
Helper method to prepare exception text when template referenced_by() method fails
Definition at line 1956 of file Configuration.cpp.
|
staticprivatenoexcept |
Helper method to prepare exception text when template ref() method fails
Definition at line 1947 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 635 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 1845 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 190 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 868 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 888 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 2078 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 80 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 504 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:
Definition at line 849 of file Configuration.cpp.
|
private |
| dunedaq::conffwk::Generic | in case of an error |
Definition at line 1366 of file Configuration.cpp.
| std::list< std::string > * dunedaq::Configuration::return_includes_pybind | ( | const std::string & | db_name | ) |
Definition at line 2100 of file Configuration.cpp.
|
private |
Definition at line 759 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 568 of file Configuration.cpp.
|
privatenoexcept |
Definition at line 688 of file Configuration.cpp.
|
inline |
| std::vector< std::string > dunedaq::Configuration::subclasses_pybind | ( | const std::string & | class_name, |
| bool | all ) |
Definition at line 2107 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 2114 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 1581 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 1751 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 782 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 1867 of file Configuration.cpp.
|
noexcept |
Definition at line 1873 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 375 of file Configuration.cpp.
|
noexcept |
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 651 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 550 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 534 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 1317 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 1488 of file Configuration.cpp.
|
privatenoexcept |
Definition at line 699 of file Configuration.cpp.
|
staticprivate |
Definition at line 1416 of file Configuration.cpp.
|
friend |
Definition at line 231 of file Configuration.hpp.
|
friend |
Definition at line 232 of file Configuration.hpp.
|
friend |
Definition at line 230 of file Configuration.hpp.
|
friend |
Definition at line 235 of file Configuration.hpp.
|
private |
Definition at line 1708 of file Configuration.hpp.
|
mutableprivate |
Definition at line 1717 of file Configuration.hpp.
|
private |
Definition at line 1687 of file Configuration.hpp.
|
private |
Definition at line 1465 of file Configuration.hpp.
|
mutableprivate |
Definition at line 1718 of file Configuration.hpp.
|
private |
Definition at line 1668 of file Configuration.hpp.
|
mutableprivate |
Definition at line 1715 of file Configuration.hpp.
|
private |
Definition at line 1670 of file Configuration.hpp.
|
private |
Definition at line 1671 of file Configuration.hpp.
|
private |
Definition at line 1669 of file Configuration.hpp.
|
private |
Definition at line 1688 of file Configuration.hpp.
|
private |
Definition at line 1713 of file Configuration.hpp.
|
private |
Definition at line 1675 of file Configuration.hpp.
|
mutableprivate |
Definition at line 1716 of file Configuration.hpp.
|
private |
Definition at line 1300 of file Configuration.hpp.
|
private |
Definition at line 1438 of file Configuration.hpp.
|
private |
Definition at line 1299 of file Configuration.hpp.
|
private |
Definition at line 1429 of file Configuration.hpp.
|
private |
Definition at line 1430 of file Configuration.hpp.
|
private |
Definition at line 1431 of file Configuration.hpp.
|
private |
Definition at line 1437 of file Configuration.hpp.
|
private |
Definition at line 1436 of file Configuration.hpp.