quic/qbox
|
Configurable Broker class, inherits from the 'standard' cci_utils broker, but adds 1/ The ability to be instanced in the constructor 2/ The ability to automatically load a configuration file 3/ Explicitly set parameters (from the constructor) are 'hidden' from the parent broker. More...
#include <cciutils.h>
Public Member Functions | |
std::vector< cci_name_value_pair > | get_consumed_preset_values () const |
ConfigurableBroker (const std::string &name=BROKERNAME, std::function< void(std::string)> uninitialized_cb=nullptr) | |
ConfigurableBroker (std::initializer_list< cci_name_value_pair > list, std::initializer_list< std::pair< std::string, std::string > > alias_list={}, std::function< void(std::string)> uninitialized_cb=nullptr) | |
Construct a new Configurable Broker object from list. When constructed with a list of initialised parameters, all other params will be exported to the parent broker. | |
std::string | relname (const std::string &n) const |
void | set_uninitialized_cb (std::function< void(std::string)> uninitialized_cb) |
void | clear_uninitialized_cb () |
cci_originator | get_value_origin (const std::string &parname) const override |
bool | has_preset_value (const std::string &parname) const override |
cci_value | get_preset_cci_value (const std::string &parname) const override |
void | lock_preset_value (const std::string &parname) override |
cci_value | get_cci_value (const std::string &parname, const cci::cci_originator &originator=cci::cci_originator()) const override |
void | add_param (cci_param_if *par) override |
void | remove_param (cci_param_if *par) override |
std::vector< cci_name_value_pair > | get_unconsumed_preset_values () const override |
void | ignore_unconsumed_preset_values (const cci_preset_value_predicate &pred) override |
cci_preset_value_range | get_unconsumed_preset_values (const cci_preset_value_predicate &pred) const override |
void | set_preset_cci_value (const std::string &parname, const cci_value &cci_value, const cci_originator &originator) override |
cci_param_untyped_handle | get_param_handle (const std::string &parname, const cci_originator &originator) const override |
std::vector< cci_param_untyped_handle > | get_param_handles (const cci_originator &originator) const override |
bool | is_global_broker () const override |
Public Attributes | |
HelpSingleton * | m_help_helper |
std::set< std::string > | hide |
Protected Member Functions | |
cci_broker_if & | get_parent_broker () |
std::string | hierarchical_name () |
cci_originator | get_cci_originator (const char *n) |
bool | is_log_param (const std::string &parname) const |
virtual bool | sendToParent (const std::string &parname) const |
private function to determine if we send to the parent broker or not | |
void | initialize_params (const std::initializer_list< cci_name_value_pair > &list) |
Expose all params that have not been configured. | |
void | alias_params (const std::initializer_list< std::pair< std::string, std::string > > &list) |
void | untyped_post_write_callback (const cci::cci_param_write_event<> &ev, cci::cci_param_handle synced_handle) |
void | sync_values (cci::cci_param_handle _param_handle_1, cci::cci_param_handle _param_handle_2) |
Function for synchronizing the values of cci_parameter of OWNER modules via the PARAM_VALUE_SYNC. | |
void | alias_param (std::string a, std::string b) |
void | alias_param_callback (const cci_param_untyped_handle &ph) |
Protected Attributes | |
std::string | m_orig_name |
cci_originator | m_originator |
bool | has_parent |
cci_broker_if & | m_parent |
cci_param< ConfigurableBroker * > * | m_child_ref |
std::unordered_set< std::string > | m_initialized |
std::function< void(std::string)> | m_uninitialized_cb |
std::vector< cci::cci_callback_untyped_handle > | post_write_cb_vec |
Callback Adaptor Objects. | |
cci_param_create_callback_handle | register_cb |
std::vector< std::pair< std::string, std::string > > | alias_list |
Friends | |
class | PrivateConfigurableBroker |
class | cci_value_converter< ConfigurableBroker > |
Configurable Broker class, inherits from the 'standard' cci_utils broker, but adds 1/ The ability to be instanced in the constructor 2/ The ability to automatically load a configuration file 3/ Explicitly set parameters (from the constructor) are 'hidden' from the parent broker.
|
inline |
Construct a new Configurable Broker object from list. When constructed with a list of initialised parameters, all other params will be exported to the parent broker.
list |
|
inlineprotected |
Expose all params that have not been configured.
list |
|
inlineprotected |
Function for synchronizing the values of cci_parameter of OWNER modules via the PARAM_VALUE_SYNC.
_param_handle_1 | The first parameter to be synced |
_param_handle_2 | The second parameter to be synced |