diff options
Diffstat (limited to 'src/hs-clientmanager.h')
-rw-r--r-- | src/hs-clientmanager.h | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/hs-clientmanager.h b/src/hs-clientmanager.h index c8bc48e..9e58e64 100644 --- a/src/hs-clientmanager.h +++ b/src/hs-clientmanager.h @@ -26,7 +26,6 @@ #include "hs-helper.h" #include "hs-client.h" -extern const std::string _listen_all; class listener_interface { public: @@ -34,9 +33,9 @@ public: virtual ~listener_interface() {} virtual void notify(afb_api_t api, std::string appid = "") = 0; std::string myUid(void) {return m_uid;} - std::set<std::string> listenAppSet(void) {return m_listen_appid;} - void addListenAppId(std::string appid) {m_listen_appid.insert(appid);} - bool isListenAppId(std::string &appid) { + void addListenAppId(const std::string &appid) {m_listen_appid.insert(appid);} + void removeListenAppId(const std::string &appid) {m_listen_appid.erase(appid);} + bool isListenAppId(const std::string &appid) { auto it = m_listen_appid.find(appid); return it != m_listen_appid.end() ? true : false; } @@ -71,7 +70,7 @@ public: int handleRequest(afb_req_t request, const char *verb, const char *appid = nullptr); int pushEvent(const char *event, struct json_object *param, std::string appid = ""); void removeClientCtxt(void *data); // don't use, internal only - void setStartupAppid(const std::string &appid) {startup_appid = appid;} + void setStartupAppidAndArea(const std::pair<std::string, std::string> pair) {startup_appid = pair.first;startup_area = pair.second;} bool isAppStarted(const std::string &appid); void addListener(listener_interface* listener); void removeListener(listener_interface* listener); @@ -80,16 +79,15 @@ 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); - bool checkRegisterApp(afb_api_t api, const std::string &appid); void notifyListener(afb_api_t api, const std::string &appid); private: static HS_ClientManager* me; - std::unordered_map<std::string, std::list<listener_interface*>> listener_list; + std::unordered_map<std::string, listener_interface*> listener_list; std::unordered_map<std::string, HS_Client*> client_list; std::unordered_map<std::string, HS_ClientCtxt*> appid2ctxt; std::mutex mtx; - std::string startup_appid; + std::string startup_appid, startup_area; }; #endif // HOMESCREEN_CLIENTMANAGER_H
\ No newline at end of file |