diff options
author | wang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com> | 2019-01-16 10:54:43 +0800 |
---|---|---|
committer | wang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com> | 2019-02-21 10:10:06 +0800 |
commit | ca1bb49a4f349d011e17b1bcf75cc7529182dec6 (patch) | |
tree | 0a10e507312172b2ab37802d4fe33c592de87501 /src/hs-client.h | |
parent | 5eae0207c498ad2233c595b25fb905c7779112b4 (diff) |
Improve homescreen-service
1.Improve class cohesion and reduce public interface number
2.Unified event pattern
BUG-AGL: SPEC-2120
Change-Id: I4c5066be2deaf2b809af66cb5a8acdc5bffa5a23
Signed-off-by: wang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>
Diffstat (limited to 'src/hs-client.h')
-rw-r--r-- | src/hs-client.h | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/hs-client.h b/src/hs-client.h index b06a717..ac4d004 100644 --- a/src/hs-client.h +++ b/src/hs-client.h @@ -18,6 +18,7 @@ #define HOMESCREEN_CLIENT_H #include <string> +#include <unordered_set> #include <unordered_map> #include "hs-helper.h" @@ -30,25 +31,30 @@ 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); + +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<std::string, func_handler> 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<std::string, int> event_list; + std::unordered_set<std::string> event_list; }; |