summaryrefslogtreecommitdiffstats
path: root/src/hs-client.cpp
diff options
context:
space:
mode:
authorwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>2018-11-28 17:23:49 +0800
committerwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>2018-11-28 17:26:26 +0800
commitb730d31a7e5e23756ab1b076de21d41369a500c5 (patch)
tree59784664e070438492ddeb96c6abc2a7512d2e67 /src/hs-client.cpp
parent31ff5ce755d00cf12ea2ffc96c33ed9acd36358f (diff)
fix issue,not free stringguppy_6.99.2guppy/6.99.26.99.2
After called afb_req_get_application_id api needed to free the string. Change-Id: Ia59a3f4984854d61f4c5a8d9206f44988594ebf3 Signed-off-by: wang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>
Diffstat (limited to 'src/hs-client.cpp')
-rw-r--r--src/hs-client.cpp38
1 files changed, 29 insertions, 9 deletions
diff --git a/src/hs-client.cpp b/src/hs-client.cpp
index 536ff6e..e97f844 100644
--- a/src/hs-client.cpp
+++ b/src/hs-client.cpp
@@ -216,9 +216,14 @@ int HS_Client::showWindow(afb_req_t request, const char* appid)
hs_add_object_to_json_object_str( push_obj, 4, _application_id, appid, _type, __FUNCTION__);
const char* param = afb_req_value(request, _parameter);
if(param) {
- const char* req_appid = afb_req_get_application_id(request);
+ std::string req_appid = std::move(get_application_id(request));
+ if(req_appid.empty()) {
+ HMI_NOTICE("homescreen-service","can't get application identifier");
+ return AFB_REQ_GETAPPLICATIONID_ERROR;
+ }
+
struct json_object* param_obj = json_tokener_parse(param);
- json_object_object_add(param_obj, _replyto, json_object_new_string(req_appid));
+ json_object_object_add(param_obj, _replyto, json_object_new_string(req_appid.c_str()));
json_object_object_add(push_obj, _parameter, param_obj);
}
else {
@@ -247,10 +252,15 @@ int HS_Client::hideWindow(afb_req_t request)
if(!checkEvent(__FUNCTION__))
return 0;
- HMI_NOTICE("homescreen-service","%s application_id = %s.", __FUNCTION__);
- const char* req_appid = afb_req_get_application_id(request);
+ HMI_NOTICE("homescreen-service","%s called.", __FUNCTION__);
+ std::string req_appid = std::move(get_application_id(request));
+ if(req_appid.empty()) {
+ HMI_NOTICE("homescreen-service","can't get application identifier");
+ return AFB_REQ_GETAPPLICATIONID_ERROR;
+ }
+
struct json_object* push_obj = json_object_new_object();
- hs_add_object_to_json_object_str( push_obj, 4, _application_id, req_appid,
+ hs_add_object_to_json_object_str( push_obj, 4, _application_id, req_appid.c_str(),
_type, __FUNCTION__);
afb_event_push(my_event, push_obj);
return 0;
@@ -310,14 +320,19 @@ int HS_Client::showNotification(afb_req_t request)
const char *value = afb_req_value(request, _text);
if(value) {
HMI_NOTICE("homescreen-service","text is %s", value);
- const char* appid = afb_req_get_application_id(request);
+ std::string appid =std::move(get_application_id(request));
+ if(appid.empty()) {
+ HMI_NOTICE("homescreen-service","can't get application identifier");
+ return AFB_REQ_GETAPPLICATIONID_ERROR;
+ }
+
struct json_object* param_obj = json_object_new_object();
const char *icon = afb_req_value(request, _icon);
if(icon) {
json_object_object_add(param_obj, _icon, json_object_new_string(icon));
json_object_object_add(param_obj, _text, json_object_new_string(value));
struct json_object* push_obj = json_object_new_object();
- hs_add_object_to_json_object_str( push_obj, 4, _application_id, appid, _type, __FUNCTION__);
+ hs_add_object_to_json_object_str( push_obj, 4, _application_id, appid.c_str(), _type, __FUNCTION__);
json_object_object_add(push_obj, _parameter, param_obj);
afb_event_push(my_event, push_obj);
}
@@ -353,11 +368,16 @@ int HS_Client::showInformation(afb_req_t request)
const char *value = afb_req_value(request, _info);
if(value) {
HMI_NOTICE("homescreen-service","info is %s", value);
- const char* appid = afb_req_get_application_id(request);
+ std::string appid = std::move(get_application_id(request));
+ if(appid.empty()) {
+ HMI_NOTICE("homescreen-service","can't get application identifier");
+ return AFB_REQ_GETAPPLICATIONID_ERROR;
+ }
+
struct json_object* param_obj = json_object_new_object();
json_object_object_add(param_obj, _info, json_object_new_string(value));
struct json_object* push_obj = json_object_new_object();
- hs_add_object_to_json_object_str( push_obj, 4, _application_id, appid, _type, __FUNCTION__);
+ hs_add_object_to_json_object_str( push_obj, 4, _application_id, appid.c_str(), _type, __FUNCTION__);
json_object_object_add(push_obj, _parameter, param_obj);
afb_event_push(my_event, push_obj);
}