quic/qbox
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
gs::ConfigurableBroker Class Reference

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>

Inheritance diagram for gs::ConfigurableBroker:
Inheritance graph
[legend]
Collaboration diagram for gs::ConfigurableBroker:
Collaboration graph
[legend]

Public Member Functions

std::vector< cci_name_value_pairget_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_pairget_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_handleget_param_handles (const cci_originator &originator) const override
 
bool is_global_broker () const override
 

Public Attributes

HelpSingletonm_help_helper
 
std::set< std::string > hide
 

Protected Member Functions

cci_broker_ifget_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_ifm_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 >
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ConfigurableBroker()

gs::ConfigurableBroker::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 
)
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.

Parameters
list

Member Function Documentation

◆ initialize_params()

void gs::ConfigurableBroker::initialize_params ( const std::initializer_list< cci_name_value_pair > &  list)
inlineprotected

Expose all params that have not been configured.

Parameters
list

◆ sync_values()

void gs::ConfigurableBroker::sync_values ( cci::cci_param_handle  _param_handle_1,
cci::cci_param_handle  _param_handle_2 
)
inlineprotected

Function for synchronizing the values of cci_parameter of OWNER modules via the PARAM_VALUE_SYNC.

Parameters
_param_handle_1The first parameter to be synced
_param_handle_2The second parameter to be synced
Returns
void

The documentation for this class was generated from the following file: