X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fhs-clientmanager.h;h=49968f1e95bce51c0a5617cf7fea6121a63ffaef;hb=64b268e9c1151c1ccff3b9a20cbe3901f347e9ee;hp=52580905a35179b6a64e0c650acc7024f8646722;hpb=d58138e0ceb19b3f201ec5e6e7126015db2cfead;p=apps%2Fagl-service-homescreen.git diff --git a/src/hs-clientmanager.h b/src/hs-clientmanager.h index 5258090..49968f1 100644 --- a/src/hs-clientmanager.h +++ b/src/hs-clientmanager.h @@ -48,16 +48,37 @@ public: void removeClientCtxt(void *data); int tap_shortcut(afb_req_t request); + int showWindow(afb_req_t request); + int hideWindow(afb_req_t request); + int replyShowWindow(afb_req_t request); int on_screen_message(afb_req_t request); int on_screen_reply(afb_req_t request); int subscribe(afb_req_t request); int unsubscribe(afb_req_t request); + int showNotification(afb_req_t request); + int showInformation(afb_req_t request); + int handleRequest(const char *verb, afb_req_t request); + int pushEvent(const char *event, struct json_object *param, std::string appid = ""); private: HS_ClientCtxt* createClientCtxt(afb_req_t req, std::string appid); HS_Client* addClient(afb_req_t req, std::string appid); void removeClient(std::string appid); + typedef int (HS_ClientManager::*func_handler)(afb_req_t); + const std::unordered_map func_list { + {"tap_shortcut", &HS_ClientManager::tap_shortcut}, + {"showWindow", &HS_ClientManager::showWindow}, + {"hideWindow", &HS_ClientManager::hideWindow}, + {"replyShowWindow", &HS_ClientManager::replyShowWindow}, + {"on_screen_message", &HS_ClientManager::on_screen_message}, + {"on_screen_reply", &HS_ClientManager::on_screen_reply}, + {"subscribe", &HS_ClientManager::subscribe}, + {"unsubscribe", &HS_ClientManager::unsubscribe}, + {"showNotification", &HS_ClientManager::showNotification}, + {"showInformation", &HS_ClientManager::showInformation} + }; + private: static HS_ClientManager* me; std::unordered_map client_list;