|
@ -13,7 +13,7 @@ class ZModuleDeviceManager { |
|
|
map<uint16_t, ZIModule *> m_modulers; |
|
|
map<uint16_t, ZIModule *> m_modulers; |
|
|
IZcanCmderMaster *m_cancmder = nullptr; |
|
|
IZcanCmderMaster *m_cancmder = nullptr; |
|
|
|
|
|
|
|
|
typedef function<void(int32_t moduleid, int32_t event_id, int32_t eventval)> regval_change_event_t; |
|
|
|
|
|
|
|
|
typedef function<void(int32_t moduleid, int32_t regindex, int32_t oldval, int32_t toval)> regval_change_event_t; |
|
|
|
|
|
|
|
|
regval_change_event_t m_on_reg_val_change_event_cb; |
|
|
regval_change_event_t m_on_reg_val_change_event_cb; |
|
|
list<regval_change_event_t> m_on_reg_val_change_event_cbs; |
|
|
list<regval_change_event_t> m_on_reg_val_change_event_cbs; |
|
@ -23,9 +23,9 @@ class ZModuleDeviceManager { |
|
|
void registerModule(ZIModule *module); |
|
|
void registerModule(ZIModule *module); |
|
|
|
|
|
|
|
|
void regOnRegValChangeEvent(regval_change_event_t on_regval_change_event) { m_on_reg_val_change_event_cbs.push_back(on_regval_change_event); } |
|
|
void regOnRegValChangeEvent(regval_change_event_t on_regval_change_event) { m_on_reg_val_change_event_cbs.push_back(on_regval_change_event); } |
|
|
void callOnRegValChangeEvent(int32_t moduleid, int32_t event_id, int32_t eventval) { |
|
|
|
|
|
|
|
|
void callOnRegValChangeEvent(int32_t moduleid, int32_t regindex, int32_t oldval, int32_t toval) { |
|
|
for (auto &cb : m_on_reg_val_change_event_cbs) |
|
|
for (auto &cb : m_on_reg_val_change_event_cbs) |
|
|
if (cb) cb(moduleid, event_id, eventval); |
|
|
|
|
|
|
|
|
if (cb) cb(moduleid, regindex, oldval,toval); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void for_each_module(function<void(int32_t moduleid)> cb) { |
|
|
void for_each_module(function<void(int32_t moduleid)> cb) { |
|
|