aboutsummaryrefslogtreecommitdiffstats
path: root/src/hs-proxy.cpp
diff options
context:
space:
mode:
authorzheng_wenlong <wenlong_zheng@nexty-ele.com>2019-06-06 15:35:50 +0900
committerzheng_wenlong <wenlong_zheng@nexty-ele.com>2019-06-06 15:35:50 +0900
commit8e6374d5e56f3e00ed08b970f3a95cb7e24407e1 (patch)
treef0558bf69a136d77066b8cdfa4e7d19dab7ec863 /src/hs-proxy.cpp
parenta0f2388949b5bf4daae5f13227df479fff420a53 (diff)
add vui event
Diffstat (limited to 'src/hs-proxy.cpp')
-rw-r--r--src/hs-proxy.cpp39
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