17 #ifndef _SYSC_SCC_CCI_BROKER_H_
18 #define _SYSC_SCC_CCI_BROKER_H_
20 #include <cci_configuration>
21 #if CCI_VERSION_MAJOR == 1 && CCI_VERSION_MINOR == 0 && CCI_VERSION_PATCH == 0
22 #include <cci_utils/consuming_broker.h>
26 #include <unordered_map>
27 #include <unordered_set>
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;
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;
void lock_preset_value(const std::string &parname) override
Lock a parameter's preset value.
void set_preset_cci_value(const std::string &parname, const cci::cci_value &cci_value, const cci::cci_originator &originator) override
Set a parameter's preset value.