|
DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
#include <OksConfiguration.hpp>
Public Types | |
| typedef std::map< std::string, std::set< std::string > > | SMap |
Public Types inherited from dunedaq::conffwk::ConfigurationImpl | |
| typedef void(*) | notify(std::vector< ConfigurationChange * > &changes, Configuration *) |
| Callback to notify database changes. | |
| typedef void(*) | pre_notify(Configuration *) |
| Callback to pre-notify database changes. | |
Public Member Functions | |
| OksConfiguration () noexcept | |
| virtual | ~OksConfiguration () |
| virtual bool | test_object (const std::string &class_name, const std::string &name, unsigned long rlevel, const std::vector< std::string > *rclasses) |
| Test object existence (used by Python binding) | |
| virtual void | get (const std::string &class_name, const std::string &name, conffwk::ConfigObject &object, unsigned long rlevel, const std::vector< std::string > *rclasses) |
| Get object of class by id. | |
| virtual void | get (const std::string &class_name, std::vector< conffwk::ConfigObject > &objects, const std::string &query, unsigned long rlevel, const std::vector< std::string > *rclasses) |
| virtual void | get (const conffwk::ConfigObject &obj_from, const std::string &query, std::vector< conffwk::ConfigObject > &objects, unsigned long rlevel, const std::vector< std::string > *rclasses) |
| virtual conffwk::class_t * | get (const std::string &class_name, bool direct_only) |
| Get description of class in accordance with parameters. | |
| virtual void | get_superclasses (conffwk::fmap< conffwk::fset > &schema) |
| Get inheritance hierarchy. | |
| virtual void | create (const std::string &at, const std::string &class_name, const std::string &id, conffwk::ConfigObject &object) |
| Create object of class by id at given file. | |
| virtual void | create (const conffwk::ConfigObject &at, const std::string &class_name, const std::string &id, conffwk::ConfigObject &object) |
| Create object of class by id at file identified by object 'at'. | |
| virtual void | destroy (conffwk::ConfigObject &object) |
| Destroy object of class by id. | |
| virtual void | open_db (const std::string &db_name) |
| Open database implementation in accordance with given name. | |
| virtual void | close_db () |
| Close database implementation. | |
| virtual bool | loaded () const noexcept |
| Check if a database is loaded. | |
| virtual void | create (const std::string &db_name, const std::list< std::string > &includes) |
| Create database. | |
| virtual bool | is_writable (const std::string &db_name) |
| Return write access status. | |
| virtual void | add_include (const std::string &db_name, const std::string &include) |
| Add include file. | |
| virtual void | remove_include (const std::string &db_name, const std::string &include) |
| Remove include file. | |
| virtual void | get_includes (const std::string &db_name, std::list< std::string > &includes) const |
| Get included files. | |
| virtual void | get_updated_dbs (std::list< std::string > &dbs) const |
| Get uncommitted files. | |
| virtual void | set_commit_credentials (const std::string &user, const std::string &password) |
| Set commit credentials. | |
| virtual void | commit (const std::string &why) |
| Commit database changes. | |
| virtual void | abort () |
| Abort database changes. | |
| virtual void | prefetch_all_data () |
| Prefetch all data into client cache. | |
| virtual std::vector< dunedaq::conffwk::Version > | get_changes () |
| Get newly available versions. | |
| virtual std::vector< dunedaq::conffwk::Version > | get_versions (const std::string &since, const std::string &until, dunedaq::conffwk::Version::QueryType type, bool skip_irrelevant) |
| Get archived versions. | |
| virtual void | subscribe (const std::set< std::string > &class_names, const SMap &objs, ConfigurationImpl::notify cb, ConfigurationImpl::pre_notify pre_cb) |
| virtual void | unsubscribe () |
| Remove subscription on database changes. | |
| virtual void | print_profiling_info () noexcept |
| Print implementation specific profiling information. | |
| const oks::OksKernel & | get_oks_kernel () const |
Public Member Functions inherited from dunedaq::conffwk::ConfigurationImpl | |
| ConfigurationImpl () noexcept | |
| The constructor. | |
| virtual | ~ConfigurationImpl () |
| Virtual destructor. | |
| virtual void | get (const std::string &class_name, std::vector< ConfigObject > &objects, const std::string &query, unsigned long rlevel, const std::vector< std::string > *rclasses)=0 |
| Get objects of class according to query. | |
| virtual void | get (const ConfigObject &obj_from, const std::string &query, std::vector< ConfigObject > &objects, unsigned long rlevel, const std::vector< std::string > *rclasses)=0 |
| Get objects according to path. | |
| virtual void | subscribe (const std::set< std::string > &class_names, const std::map< std::string, std::set< std::string > > &objs, notify cb, pre_notify pre_cb)=0 |
| Subscribe on database changes. | |
| void | print_cache_info () noexcept |
| Print profiling information about objects in cache. | |
| void | set (Configuration *db) noexcept |
| set configuration object | |
| void | rename_impl_object (const std::string *class_name, const std::string &old_id, const std::string &new_id) noexcept |
| rename object in cache | |
Protected Member Functions | |
| void | create (oks::OksFile *at, const std::string &class_name, const std::string &id, conffwk::ConfigObject &object) |
| void | init_env () |
| OksConfigObject * | new_object (oks::OksObject *obj) noexcept |
| void | subscribe () |
Protected Member Functions inherited from dunedaq::conffwk::ConfigurationImpl | |
| ConfigObjectImpl * | get_impl_object (const std::string &class_name, const std::string &id) const noexcept |
| get object from cache | |
| void | put_impl_object (const std::string &class_name, const std::string &id, ConfigObjectImpl *obj) noexcept |
| put object to cache | |
| template<class T , class OBJ > | |
| T * | insert_object (OBJ &obj, const std::string &id, const std::string &class_name) noexcept |
| insert new object (update cache or create-and-insert) | |
| void | clean () noexcept |
| clean cache (e.g. to be used by destructor) | |
| std::mutex & | get_conf_impl_mutex () const |
| Is required by reload methods. | |
Static Protected Member Functions | |
| static void | create_notify (oks::OksObject *, void *) noexcept |
| static void | change_notify (oks::OksObject *, void *) noexcept |
| static void | delete_notify (oks::OksObject *, void *) noexcept |
Protected Attributes | |
| oks::OksKernel * | m_kernel |
| conffwk::ConfigurationImpl::notify | m_fn |
| conffwk::ConfigurationImpl::pre_notify | m_pre_fn |
| std::set< std::string > | m_class_names |
| SMap | m_objects |
| bool | m_oks_kernel_silence |
| bool | m_oks_kernel_no_repo |
| std::list< oks::OksObject * > | m_created |
| std::set< oks::OksObject * > | m_modified |
| std::map< std::string, std::set< std::string > > | m_removed |
| OksConfigurationCheckDB * | m_check_db_obj |
| std::thread * | m_check_db_thread |
| std::string | m_user |
| std::string | m_password |
| std::set< oks::OksFile * > | m_created_files |
| unsigned int | m_repo_error_count |
Protected Attributes inherited from dunedaq::conffwk::ConfigurationImpl | |
| Configuration * | m_conf |
| Configuration pointer is needed for notification on changes, e.g. in case of subscription or an object deletion. | |
Private Member Functions | |
| virtual void | check_db () |
| void | close_database (bool unsubscribe) |
Friends | |
| class | OksConfigObject |
| struct | OksConfigurationCheckDB |
| class | ResubscribeGuard |
Definition at line 32 of file OksConfiguration.hpp.
| std::map< std::string , std::set<std::string> > dunedaq::oksconflibs::OksConfiguration::SMap |
Definition at line 43 of file OksConfiguration.hpp.
|
inlinenoexcept |
Definition at line 40 of file OksConfiguration.hpp.
|
inlinevirtual |
Definition at line 41 of file OksConfiguration.hpp.
|
virtual |
Abort database changes.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 459 of file OksConfiguration.cpp.
|
virtual |
Add include file.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 1150 of file OksConfiguration.cpp.
|
staticprotectednoexcept |
Definition at line 930 of file OksConfiguration.cpp.
|
privatevirtual |
Definition at line 1242 of file OksConfiguration.cpp.
|
private |
Definition at line 227 of file OksConfiguration.cpp.
|
inlinevirtual |
Close database implementation.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 59 of file OksConfiguration.hpp.
|
virtual |
Commit database changes.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 365 of file OksConfiguration.cpp.
|
virtual |
Create object of class by id at file identified by object 'at'.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 918 of file OksConfiguration.cpp.
|
virtual |
Create object of class by id at given file.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 901 of file OksConfiguration.cpp.
|
virtual |
Create database.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 259 of file OksConfiguration.cpp.
|
protected |
Definition at line 861 of file OksConfiguration.cpp.
|
staticprotectednoexcept |
Definition at line 924 of file OksConfiguration.cpp.
|
staticprotectednoexcept |
Definition at line 936 of file OksConfiguration.cpp.
|
virtual |
Destroy object of class by id.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 1077 of file OksConfiguration.cpp.
|
virtual |
Definition at line 710 of file OksConfiguration.cpp.
|
virtual |
Get description of class in accordance with parameters.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 736 of file OksConfiguration.cpp.
|
virtual |
Get object of class by id.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 636 of file OksConfiguration.cpp.
|
virtual |
Definition at line 670 of file OksConfiguration.cpp.
|
virtual |
Get newly available versions.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 547 of file OksConfiguration.cpp.
|
virtual |
Get included files.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 1214 of file OksConfiguration.cpp.
|
inline |
Definition at line 93 of file OksConfiguration.hpp.
|
virtual |
Get inheritance hierarchy.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 833 of file OksConfiguration.cpp.
|
virtual |
Get uncommitted files.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 340 of file OksConfiguration.cpp.
|
virtual |
Get archived versions.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 583 of file OksConfiguration.cpp.
|
protected |
Definition at line 1438 of file OksConfiguration.cpp.
|
virtual |
Return write access status.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 1111 of file OksConfiguration.cpp.
|
inlinevirtualnoexcept |
Check if a database is loaded.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 60 of file OksConfiguration.hpp.
|
protectednoexcept |
Definition at line 605 of file OksConfiguration.cpp.
|
virtual |
Open database implementation in accordance with given name.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 155 of file OksConfiguration.cpp.
|
inlinevirtual |
Prefetch all data into client cache.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 70 of file OksConfiguration.hpp.
|
virtualnoexcept |
Print implementation specific profiling information.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 1424 of file OksConfiguration.cpp.
|
virtual |
Remove include file.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 1172 of file OksConfiguration.cpp.
|
virtual |
Set commit credentials.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 351 of file OksConfiguration.cpp.
|
protected |
Definition at line 1394 of file OksConfiguration.cpp.
|
virtual |
Definition at line 1378 of file OksConfiguration.cpp.
|
virtual |
Test object existence (used by Python binding)
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 611 of file OksConfiguration.cpp.
|
virtual |
Remove subscription on database changes.
Implements dunedaq::conffwk::ConfigurationImpl.
Definition at line 1409 of file OksConfiguration.cpp.
|
friend |
Definition at line 34 of file OksConfiguration.hpp.
|
friend |
Definition at line 35 of file OksConfiguration.hpp.
|
friend |
Definition at line 36 of file OksConfiguration.hpp.
|
protected |
Definition at line 127 of file OksConfiguration.hpp.
|
protected |
Definition at line 128 of file OksConfiguration.hpp.
|
protected |
Definition at line 101 of file OksConfiguration.hpp.
|
protected |
Definition at line 117 of file OksConfiguration.hpp.
|
protected |
Definition at line 136 of file OksConfiguration.hpp.
|
protected |
Definition at line 99 of file OksConfiguration.hpp.
|
protected |
Definition at line 98 of file OksConfiguration.hpp.
|
protected |
Definition at line 118 of file OksConfiguration.hpp.
|
protected |
Definition at line 102 of file OksConfiguration.hpp.
|
protected |
Definition at line 104 of file OksConfiguration.hpp.
|
protected |
Definition at line 103 of file OksConfiguration.hpp.
|
protected |
Definition at line 131 of file OksConfiguration.hpp.
|
protected |
Definition at line 100 of file OksConfiguration.hpp.
|
protected |
Definition at line 119 of file OksConfiguration.hpp.
|
protected |
Definition at line 141 of file OksConfiguration.hpp.
|
protected |
Definition at line 130 of file OksConfiguration.hpp.