hs-clientmanager: Store the appidClientContext directly
[apps/agl-service-homescreen.git] / src / hs-clientmanager.h
index d485ea8..96a15b9 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2018 TOYOTA MOTOR CORPORATION
+ * Copyright (C) 2020 Konsulko Group
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 #include "hs-helper.h"
 #include "hs-client.h"
 
-typedef struct HS_ClientCtxt
-{
+struct HS_ClientCtxt {
     std::string id;
-    HS_ClientCtxt(const char *appid)
+    HS_ClientCtxt(const std::string &appid)
     {
         id = appid;
     }
-} HS_ClientCtxt;
+};
 
 
 class HS_ClientManager {
@@ -46,9 +46,9 @@ public:
     static HS_ClientManager* instance(void);
     int init(void);
     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
 
-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);
@@ -60,4 +60,4 @@ private:
     std::mutex mtx;
 };
 
-#endif // HOMESCREEN_CLIENTMANAGER_H
\ No newline at end of file
+#endif // HOMESCREEN_CLIENTMANAGER_H