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 {
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;
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);
}
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);
}
const char *value = afb_req_value(request, "event");
HMI_NOTICE("homescreen-service","value is %s", value);
if(value) {
- std::string appid(afb_req_get_application_id(request));
- std::lock_guard<std::mutex> lock(this->mtx);
+ 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;
+ }
+ std::lock_guard<std::mutex> lock(this->mtx);
HS_Client* client = nullptr;
auto ip = client_list.find(appid);
if(ip != client_list.end()) {
HMI_NOTICE("homescreen-service","value is %s", value);
int ret = 0;
if(value) {
- std::string appid(afb_req_get_application_id(request));
- std::lock_guard<std::mutex> lock(this->mtx);
+ 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;
+ }
+ std::lock_guard<std::mutex> lock(this->mtx);
auto ip = client_list.find(appid);
if(ip != client_list.end()
&& ip->second->unsubscribe(request, value) != 0) {
#define AFB_BINDING_VERSION 3
#include <afb/afb-binding.h>
#include <json-c/json.h>
+#include <string>
-#define AFB_EVENT_BAD_REQUEST 100
-#define AFB_REQ_SUBSCRIBE_ERROR 101
-#define AFB_REQ_UNSUBSCRIBE_ERROR 102
-#define AFB_REQ_SHOWNOTIFICATION_ERROR 103
-#define AFB_REQ_SHOWINFORMATION_ERROR 104
+#define AFB_EVENT_BAD_REQUEST 100
+#define AFB_REQ_SUBSCRIBE_ERROR 101
+#define AFB_REQ_UNSUBSCRIBE_ERROR 102
+#define AFB_REQ_SHOWNOTIFICATION_ERROR 103
+#define AFB_REQ_SHOWINFORMATION_ERROR 104
+#define AFB_REQ_GETAPPLICATIONID_ERROR 105
typedef enum REQ_ERROR
{
void hs_add_object_to_json_object_str(struct json_object* j_obj, int count, ...);
void hs_add_object_to_json_object_func(struct json_object* j_obj, const char* verb_name, int count, ...);
int hs_search_event_name_index(const char* value);
+std::string get_application_id(const afb_req_t request);
#endif /*HOMESCREEN_HELPER_H*/