diff options
author | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2019-07-08 17:47:04 +0900 |
---|---|---|
committer | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2019-07-08 17:47:04 +0900 |
commit | bfa54cba9b6a8a9201e7d27694d865ae6d5b5c6a (patch) | |
tree | 5790bb21a80f6665760ac906432c22102d2a92f8 /src/libhomescreen.cpp | |
parent | c9d1e97c13b0a2b78b9413d2a0914a49f1e389ec (diff) |
try to fix ignore issuesandbox/zheng_wenlong/als2019_vertical
Diffstat (limited to 'src/libhomescreen.cpp')
-rw-r--r-- | src/libhomescreen.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/libhomescreen.cpp b/src/libhomescreen.cpp index fa22da4..4d96cb8 100644 --- a/src/libhomescreen.cpp +++ b/src/libhomescreen.cpp @@ -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; } |