try to fix ignore issue sandbox/zheng_wenlong/als2019_vertical
authorzheng_wenlong <wenlong_zheng@nexty-ele.com>
Mon, 8 Jul 2019 08:47:04 +0000 (17:47 +0900)
committerzheng_wenlong <wenlong_zheng@nexty-ele.com>
Mon, 8 Jul 2019 08:47:04 +0000 (17:47 +0900)
src/libhomescreen.cpp

index fa22da4..4d96cb8 100644 (file)
@@ -334,8 +334,20 @@ void LibHomeScreen::set_event_handler(enum EventType et, handler_func f)
  */
 void LibHomeScreen::publishSubscription(void)
 {
+       struct json_object* j_obj = json_object_new_array();
        for(auto &it : handlers) {
-               this->subscribe(LibHomeScreen::event_list[it.first - 1]);
+        json_object_array_add(j_obj, json_object_new_string(LibHomeScreen::event_list[it.first - 1].c_str()));
+       }
+
+       if(!sp_websock) {
+               return;
+       }
+       struct json_object* push_obj = json_object_new_object();
+       json_object_object_add(push_obj, "event", j_obj);
+
+       int ret = afb_wsj1_call_j(sp_websock, API, "subscribe", push_obj, _on_reply_static, this);
+       if (ret < 0) {
+               HMI_ERROR("libhomescreen","Failed to call subscribe.");
        }
 }
 
@@ -432,6 +444,7 @@ int LibHomeScreen::subscribe(const string& event_name)
        if (ret < 0) {
                HMI_ERROR("libhomescreen","Failed to call verb");
        }
+       afb_wsj1_call_j(sp_websock, API, "subscribe", j_obj, _on_reply_static, this);
        return ret;
 }