31class cci_broker :
public cci_utils::consuming_broker {
32 std::unordered_set<std::string> expose;
35 cci::cci_broker_if& m_parent;
37 cci::cci_broker_if& get_parent_broker() {
38 if(sc_core::sc_get_current_object()) {
40 return unwrap_broker(cci::cci_get_broker());
48 bool sendToParent(
const std::string& parname)
const;
50 void insert_matching_preset_value(
const std::string& parname);
52 struct wildcard_entry {
55 cci::cci_originator originator;
57 std::unordered_map<std::string, wildcard_entry> wildcard_presets;
58 std::unordered_map<std::string, std::regex> wildcard_locks;
61 cci::cci_originator get_value_origin(
const std::string& parname)
const override;
63 cci_broker(
const std::string& name);
67 bool has_preset_value(
const std::string& parname)
const override;
69 cci::cci_originator get_preset_value_origin(
const std::string& parname)
const override;
71 cci::cci_value get_preset_cci_value(
const std::string& parname)
const override;
91 void set_preset_cci_value(
const std::string& parname,
const cci::cci_value& cci_value,
const cci::cci_originator& originator)
override;
115 cci::cci_value get_cci_value(
const std::string& parname,
const cci::cci_originator& originator = cci::cci_originator())
const override;
117 cci::cci_param_untyped_handle get_param_handle(
const std::string& parname,
const cci::cci_originator& originator)
const override;
119 std::vector<cci::cci_param_untyped_handle> get_param_handles(
const cci::cci_originator& originator)
const override;
121 void add_param(cci::cci_param_if* par)
override;
123 void remove_param(cci::cci_param_if* par)
override;
125 bool is_global_broker()
const override;