rpc_stub::EventSystem::EventType type, std::string event_name,
std::unique_ptr<rpc_stub::EventSystem::EventListener> cb) {
int id = cb->GetSeqId();
- listeners_[event_name] = {type, std::move(cb)};
+ listeners_.insert(std::make_pair<std::string, EventData>(
+ std::string(event_name), {type, std::move(cb)}));
if (type == rpc_stub::EventSystem::EventType::User) {
const auto* data = evt_listener_.OnRequestGetData(event_name);
}
bool EventSystemService::UnregisterEvent(int id) {
- auto itr = std::find_if(
- listeners_.begin(), listeners_.end(),
- [id](const auto& pair) { return pair.second.listener_->GetSeqId() == id; });
+ auto itr = std::find_if(listeners_.begin(), listeners_.end(),
+ [id](const auto& pair) {
+ return pair.second.listener_->GetSeqId() == id;
+ });
if (itr != listeners_.end()) {
listeners_.erase(itr);
void EventSystemService::NotifyEvent(const std::string& event_name,
const rpc::Bundle& data) {
- auto i = listeners_.find(event_name);
- if (i == listeners_.end()) return;
- (*i).second.listener_->Invoke(event_name,
- rpc::Bundle(data.GetHandle(), false, false));
+ for (auto& [ename, event_data] : listeners_) {
+ if (ename == event_name) {
+ event_data.listener_->Invoke(event_name,
+ rpc::Bundle(data.GetHandle(), false, false));
+ }
+ }
}
void EventSystemService::NotifyTrustedEvent(const std::string& event_name,
const rpc::Bundle& data,
const std::string& sender,
const std::string& receiver) {
- auto i = listeners_.find(event_name);
- if (i == listeners_.end()) return;
-
int val = CertificateMatcher::Match(sender, receiver);
if (val != ES_R_OK) {
_E("CertificateMatcher failed. Skip!");
return;
}
- (*i).second.listener_->Invoke(event_name,
- rpc::Bundle(data.GetHandle(), false, false));
+ for (auto& [ename, event_data] : listeners_) {
+ if (ename == event_name) {
+ event_data.listener_->Invoke(event_name,
+ rpc::Bundle(data.GetHandle(), false, false));
+ }
+ }
}
} // namespace esd::module