X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fhs-client.h;h=cbf2f33ff9a7c7baaae5f66928baf064b07441cb;hb=refs%2Fheads%2Fsandbox%2Fwangzhiqiang%2Fjira2292;hp=b06a717c34bfd77629f2a52150a2415e3b572edf;hpb=cbb18a85dc4df6ca1317f543db5a9da7b84cf9e1;p=apps%2Fagl-service-homescreen.git diff --git a/src/hs-client.h b/src/hs-client.h index b06a717..cbf2f33 100644 --- a/src/hs-client.h +++ b/src/hs-client.h @@ -18,6 +18,7 @@ #define HOMESCREEN_CLIENT_H #include +#include #include #include "hs-helper.h" @@ -30,25 +31,31 @@ public: HS_Client &operator=(HS_Client&) = delete; ~HS_Client(); - int tap_shortcut(const char* appid); - int showWindow(afb_req_t request, const char* appid); + int handleRequest(afb_req_t request, const char *verb); + int pushEvent(const char *event, struct json_object *param); + +private: + int tap_shortcut(afb_req_t request); + int on_screen_message (afb_req_t request); + int on_screen_reply (afb_req_t request); + int showWindow(afb_req_t request); int hideWindow(afb_req_t request); - int replyShowWindow(afb_req_t request, const char* appid); - int on_screen_message (afb_req_t request, const char* message); - int on_screen_reply (afb_req_t request, const char* message); - int subscribe(afb_req_t request, const char* event); - int unsubscribe(afb_req_t request, const char* event); + int replyShowWindow(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); -private: + typedef int (HS_Client::*func_handler)(afb_req_t); + static const std::unordered_map func_list; bool checkEvent(const char* event); + bool isSupportEvent(const char* event); private: std::string my_id; afb_event_t my_event; bool subscription = false; - std::unordered_map event_list; + std::unordered_set event_list; };