- if(!isConcernedEvent(event))
- return;
-
- std::string ev = event;
- std::size_t pos = ev.find("/");
- if(pos != std::string::npos) {
- ev = ev.substr(pos + 1);
- }
- else {
- HMI_ERROR("homescreen-service","received event is error.");
- return;
- }
-
- if(ev == _restriction_on) {
- restrictionOn(api, object);
- }
- else if(ev == _restriction_off) {
- restrictionOff(api, object);
- }
- else {
+ auto ip = concerned_event_list.find(std::string(event));
+ if(ip != concerned_event_list.end()) {
+ HMI_NOTICE("homescreen-service","[%s] event received.", event);
+ (this->*(ip->second))(api, object);