try to use afb_api_event_handler_add
[apps/agl-service-homescreen.git] / src / hs-proxy.cpp
index 0f5e78c..ec730cb 100644 (file)
  */
 
 #include "hs-proxy.h"
-#include "hmi-debug.h"
 
 const char _afm_main[] = "afm-main";
+const char _windowmanager[] = "windowmanager";
+const char _event[] = "event";
 
 
 /**
@@ -36,7 +37,7 @@ const char _afm_main[] = "afm-main";
  */
 static void api_callback(void *closure, struct json_object *object, const char *error, const char *info, afb_api_t api)
 {
-    HMI_DEBUG("homescreen-service","asynchronous call, error=%s, info=%s, object=%s.", error, info, json_object_get_string(object));
+    AFB_INFO("asynchronous call, error=%s, info=%s, object=%s.", error, info, json_object_get_string(object));
 }
 
 /**
@@ -54,7 +55,7 @@ static void api_callback(void *closure, struct json_object *object, const char *
  */
 static void api_call(afb_api_t api, const char *service, const char *verb, struct json_object *args)
 {
-    HMI_DEBUG("homescreen-service","service=%s verb=%s, args=%s.", service, verb, json_object_get_string(args));
+    AFB_INFO("service=%s verb=%s, args=%s.", service, verb, json_object_get_string(args));
     afb_api_call(api, service, verb, args, api_callback, nullptr);
 }
 
@@ -77,7 +78,7 @@ static int api_call_sync(afb_api_t api, const char *service, const char *verb, s
 {
     char *error = nullptr, *info = nullptr;
     int ret = afb_api_call_sync(api, service, verb, args, object, &error, &info);
-    HMI_DEBUG("homescreen-service","synchronous call, error=%s, info=%s.", error, info);
+    AFB_INFO("synchronous call, error=%s, info=%s.", error, info);
     return ret;
 }
 
@@ -132,4 +133,22 @@ void HS_AfmMainProxy::start(afb_req_t request, const std::string &id)
 {
     struct json_object *args = json_object_new_string(id.c_str());
     api_call(request->api, _afm_main, __FUNCTION__, args);
+}
+
+/**
+ * subscribe windowmanager event
+ *
+ * #### Parameters
+ *  - api : the api serving the request
+ *  - event : windowmanager event
+ *
+ * #### Return
+ *  None
+ *
+ */
+void HS_WmProxy::subscribe(afb_api_t api, EventType event)
+{
+    struct json_object* push_obj = json_object_new_object();
+    json_object_object_add(push_obj, _event, json_object_new_int(event));
+    api_call(api, _windowmanager, "wm_subscribe", push_obj);
 }
\ No newline at end of file