X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Flibhomescreen.cpp;fp=src%2Flibhomescreen.cpp;h=8b0ffd835dd00336e367b8e1f1fe8942c6e948ef;hb=31a095fa9180414dbd173e026e521b289b6a828c;hp=b5a534d467bb137c26c1eadb28f079ff6e98c059;hpb=e7975acfbcfb00a29940b35ae1c19c070cedc7a3;p=src%2Flibhomescreen.git diff --git a/src/libhomescreen.cpp b/src/libhomescreen.cpp index b5a534d..8b0ffd8 100644 --- a/src/libhomescreen.cpp +++ b/src/libhomescreen.cpp @@ -66,6 +66,10 @@ const std::vector LibHomeScreen::event_list { std::string("application-list-changed"), std::string("registerShortcut"), std::string("updateShortcut"), + std::string("setDestination"), + std::string("cancelDestination"), + std::string("startNavigation"), + std::string("stopNavigation"), std::string("none") }; @@ -330,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."); } }