#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