X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fhs-proxy.cpp;fp=src%2Fhs-proxy.cpp;h=7baca3020031de2477ad7432e3416907ae318f98;hb=3f110d22406e836a7fa8878b00d4b1784ae31a55;hp=718f6ff6675719fd13fb84fe11637d159c09f90b;hpb=6721f3fbd9d3e5de3b41ce1859ae6034da474a8d;p=apps%2Fagl-service-homescreen.git diff --git a/src/hs-proxy.cpp b/src/hs-proxy.cpp index 718f6ff..7baca30 100644 --- a/src/hs-proxy.cpp +++ b/src/hs-proxy.cpp @@ -16,9 +16,11 @@ #include "hs-proxy.h" -static const char _afm_main[] = "afm-main"; -static const char _windowmanager[] = "windowmanager"; -static const char _event[] = "event"; +const char _afm_main[] = "afm-main"; +const char _windowmanager[] = "windowmanager"; +const char _event[] = "event"; +const char _vshl_capabilities[] = "vshl-capabilities"; +const char _actions[] = "actions"; /** * the callback function @@ -159,3 +161,34 @@ void HS_WmProxy::subscribe(afb_api_t api, EventType event, api_cb_func f) json_object_object_add(push_obj, _event, json_object_new_int(event)); api_call(api, _windowmanager, "wm_subscribe", push_obj, f); } + +/* -------------------------------------HS_VshlCapabilitiesProxy------------------------------------------ */ + +/** + * subscribe event + * + * #### Parameters + * - api : the api + * - module : module name + * - ev_list : event list + * + * #### Return + * None + * + */ +void HS_VshlCapabilitiesProxy::subscribe(afb_api_t api, const std::string &module, const std::list &ev_list) +{ + if(ev_list.empty()) { + return; + } + + struct json_object *arr_obj = json_object_new_array(); + for(auto &it : ev_list) { + json_object_array_add(arr_obj, json_object_new_string(it.c_str())); + } + struct json_object *args = json_object_new_object(); + json_object_object_add(args, _actions, arr_obj); + + std::string verb = module + '/' + __FUNCTION__; + api_call(api, _vshl_capabilities, verb.c_str(), args); +} \ No newline at end of file