MCPcopy Create free account
hub / github.com/OpenArkStudio/ARK / OnNodeCallBack

Method OnNodeCallBack

src/plugin/kernel/src/AFClassCallBackManager.cpp:120–156  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

118}
119
120bool AFClassCallBackManager::OnNodeCallBack(
121 const AFGUID& self, AFINode* pNode, const AFIData& old_data, const AFIData& new_data)
122{
123 auto index = pNode->GetIndex();
124 auto& name = pNode->GetName();
125
126 // sync call back
127 if (pNode->HaveMask(ArkDataMask::PF_REAL_TIME))
128 {
129 for (auto& iter : node_sync_call_back_list_)
130 {
131 auto mask_value = iter.first;
132 if (!pNode->HaveMask(mask_value))
133 {
134 continue;
135 }
136
137 iter.second(self, index, mask_value, new_data);
138 }
139 }
140 else
141 {
142 UpdateDelayNodeList(self, pNode);
143 }
144
145 // common call back
146 auto iter_call_backs = data_call_backs_list_.find(index);
147 if (iter_call_backs != data_call_backs_list_.end())
148 {
149 for (auto& iter : iter_call_backs->second)
150 {
151 iter.second(self, name, index, old_data, new_data);
152 }
153 }
154
155 return true;
156}
157
158bool AFClassCallBackManager::OnTableCallBack(const AFGUID& self, const ArkMaskType mask, AFINode* pNode,
159 const TABLE_EVENT_DATA& event_data, const AFIData& old_data, const AFIData& new_data)

Callers 1

OnDataCallBackMethod · 0.80

Calls 4

GetIndexMethod · 0.45
HaveMaskMethod · 0.45
findMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected