fix depends vui bug
[apps/agl-service-homescreen.git] / src / hs-proxy.h
index b6283d6..6793b39 100644 (file)
 #include <string>
 #include <json-c/json.h>
 #include <functional>
+#include <list>
 #include "hs-helper.h"
 
-struct HS_AfmMainProxy {
+extern const char _afm_main[];
+extern const char _vshl_capabilities[];
+
+typedef void (*api_cb_func)(struct json_object *obj, const char *error, const char *info);
+
+class HS_AfmMainProxy {
+public:
     // synchronous call, call result in object
     int runnables(afb_api_t api, struct json_object **object);
     int detail(afb_api_t api, const std::string &id, struct json_object **object);
 
     // asynchronous call, reply in callback function
-    void start(afb_req_t request, const std::string &id);
+    void start(afb_api_t api, const std::string &id);
 };
 
 class HS_WmProxy {
 public:
-    HS_WmProxy() = default;
-    ~HS_WmProxy() = default;
 
     enum EventType
     {
@@ -51,12 +56,32 @@ public:
 
         Event_ScreenUpdated,
 
+        Event_Handshake,
+
+        Event_HeadlampOff,
+        Event_HeadlampOn,
+
+        Event_ParkingBrakeOff,
+        Event_ParkingBrakeOn,
+
+        Event_LightstatusBrakeOff,
+        Event_LightstatusBrakeOn,
+
+        Event_CarStop,
+        Event_CarRun,
+
         Event_Error,
 
         Event_Val_Max = Event_Error,
     };
 
     // asynchronous call, reply in callback function
-    void subscribe(afb_api_t api, EventType event);
+    void subscribe(afb_api_t api, EventType event, api_cb_func f = nullptr);
+};
+
+struct HS_VshlCapabilitiesProxy {
+    // asynchronous call, reply in callback function
+    void subscribe(afb_api_t api, const std::string &module, const std::list<std::string> &ev_list);
 };
+
 #endif // HOMESCREEN_PROXY_H
\ No newline at end of file