diff options
author | wang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com> | 2019-06-03 14:47:27 +0800 |
---|---|---|
committer | wang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com> | 2019-06-03 17:41:21 +0800 |
commit | 3f110d22406e836a7fa8878b00d4b1784ae31a55 (patch) | |
tree | 07cfe8c7abaaca1b16045d98e54c5619ca2ba301 /src/hs-proxy.cpp | |
parent | 6721f3fbd9d3e5de3b41ce1859ae6034da474a8d (diff) |
merge vui
Change-Id: I64a1bb68ea3e2b772a40eb78d316c54f8ed25de8
Diffstat (limited to 'src/hs-proxy.cpp')
-rw-r--r-- | src/hs-proxy.cpp | 39 |
1 files changed, 36 insertions, 3 deletions
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<std::string> &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 |