recover handshake
[apps/agl-service-homescreen.git] / src / hs-proxy.h
index 8741e49..45bf9f4 100644 (file)
 #include <functional>
 #include "hs-helper.h"
 
-struct HS_AfmMainProxy {
+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:
+
+    enum EventType
+    {
+        Event_Val_Min = 0,
+
+        Event_Active = Event_Val_Min,
+        Event_Inactive,
+
+        Event_Visible,
+        Event_Invisible,
+
+        Event_SyncDraw,
+        Event_FlushDraw,
+
+        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, api_cb_func f = nullptr);
 };
 
 #endif // HOMESCREEN_PROXY_H
\ No newline at end of file