X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fhs-client.cpp;h=185b4233e353485a2f09b82aebe73a4de726c22b;hb=refs%2Fheads%2Fkoi;hp=e0d4bf0c58e60cab898740fb9180ac61bf1d8d67;hpb=25299ef60fa4df5f590ff364cff004e90376a4bf;p=apps%2Fagl-service-homescreen.git diff --git a/src/hs-client.cpp b/src/hs-client.cpp index e0d4bf0..185b423 100644 --- a/src/hs-client.cpp +++ b/src/hs-client.cpp @@ -14,9 +14,9 @@ * limitations under the License. */ +#include #include "hs-client.h" #include "hs-helper.h" -#include "hmi-debug.h" static const char _event[] = "event"; static const char _type[] = "type"; @@ -54,7 +54,6 @@ const std::unordered_map HS_Client::func_l */ HS_Client::HS_Client(afb_req_t request, std::string id) : my_id(id) { - HMI_NOTICE("homescreen-service","called."); my_event = afb_api_make_event(request->api, id.c_str()); } @@ -70,7 +69,6 @@ HS_Client::HS_Client(afb_req_t request, std::string id) : my_id(id) */ HS_Client::~HS_Client() { - HMI_NOTICE("homescreen-service","called."); afb_event_unref(my_event); } @@ -87,7 +85,9 @@ HS_Client::~HS_Client() */ int HS_Client::tap_shortcut(afb_req_t request) { - HMI_NOTICE("homescreen-service","request appid = %s.", my_id.c_str()); + (void) request; + + AFB_INFO("request appid = %s.", my_id.c_str()); struct json_object* push_obj = json_object_new_object(); hs_add_object_to_json_object_str( push_obj, 4, _application_id, my_id.c_str(), _type, __FUNCTION__); @@ -111,14 +111,14 @@ int HS_Client::on_screen_message(afb_req_t request) int ret = 0; const char* value = afb_req_value(request, _display_message); if (value) { - HMI_NOTICE("homescreen-service","push %s event message [%s].", __FUNCTION__, value); + AFB_INFO("push %s event message [%s].", __FUNCTION__, value); struct json_object* push_obj = json_object_new_object(); hs_add_object_to_json_object_str( push_obj, 4, _display_message, value, _type, __FUNCTION__); afb_event_push(my_event, push_obj); } else { - HMI_NOTICE("homescreen-service","Please input display_message"); + AFB_WARNING("Please input display_message"); ret = AFB_EVENT_BAD_REQUEST; } return ret; @@ -140,14 +140,14 @@ int HS_Client::on_screen_reply(afb_req_t request) int ret = 0; const char* value = afb_req_value(request, _reply_message); if (value) { - HMI_NOTICE("homescreen-service","push %s event message [%s].", __FUNCTION__, value); + AFB_INFO("push %s event message [%s].", __FUNCTION__, value); struct json_object* push_obj = json_object_new_object(); hs_add_object_to_json_object_str( push_obj, 4, _reply_message, value, _type, __FUNCTION__); afb_event_push(my_event, push_obj); } else { - HMI_NOTICE("homescreen-service","Please input reply_message"); + AFB_WARNING("Please input reply_message"); ret = AFB_EVENT_BAD_REQUEST; } return ret; @@ -166,13 +166,12 @@ int HS_Client::on_screen_reply(afb_req_t request) */ int HS_Client::subscribe(afb_req_t request) { - HMI_NOTICE("homescreen-service"," called."); int ret = 0; const char *value = afb_req_value(request, _event); if(value) { - HMI_NOTICE("homescreen-service","subscribe event %s", value); + AFB_INFO("subscribe event %s", value); if(!isSupportEvent(value)) { - HMI_NOTICE("homescreen-service","subscibe event isn't existing."); + AFB_WARNING("subscibe event isn't existing."); ret = AFB_EVENT_BAD_REQUEST; } else { @@ -186,7 +185,7 @@ int HS_Client::subscribe(afb_req_t request) } } else { - HMI_NOTICE("homescreen-service","Please input event name"); + AFB_WARNING("Please input event name"); ret = AFB_EVENT_BAD_REQUEST; } return ret; @@ -205,18 +204,17 @@ int HS_Client::subscribe(afb_req_t request) */ int HS_Client::unsubscribe(afb_req_t request) { - HMI_NOTICE("homescreen-service"," called."); int ret = 0; const char *value = afb_req_value(request, _event); if(value) { - HMI_NOTICE("homescreen-service","unsubscribe %s event", value); + AFB_INFO("unsubscribe %s event", value); event_list.erase(std::string(value)); if(event_list.empty()) { ret = afb_req_unsubscribe(request, my_event); } } else { - HMI_NOTICE("homescreen-service","Please input event name"); + AFB_WARNING("Please input event name"); ret = AFB_EVENT_BAD_REQUEST; } return ret; @@ -235,25 +233,25 @@ int HS_Client::unsubscribe(afb_req_t request) */ int HS_Client::showWindow(afb_req_t request) { - HMI_NOTICE("homescreen-service","%s application_id = %s.", __FUNCTION__, my_id.c_str()); + AFB_INFO("%s application_id = %s.", __FUNCTION__, my_id.c_str()); int ret = 0; - struct json_object* push_obj = json_object_new_object(); - hs_add_object_to_json_object_str( push_obj, 4, _application_id, my_id.c_str(), _type, __FUNCTION__); const char* param = afb_req_value(request, _parameter); if(param) { std::string req_appid = std::move(get_application_id(request)); if(req_appid.empty()) { - HMI_NOTICE("homescreen-service","can't get application identifier"); + AFB_WARNING("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, my_id.c_str(), _type, __FUNCTION__); struct json_object* param_obj = json_tokener_parse(param); json_object_object_add(param_obj, _replyto, json_object_new_string(req_appid.c_str())); json_object_object_add(push_obj, _parameter, param_obj); afb_event_push(my_event, push_obj); } else { - HMI_ERROR("homescreen-service","please input correct parameter."); + AFB_WARNING("please input correct parameter."); ret = AFB_EVENT_BAD_REQUEST; } return ret; @@ -272,10 +270,9 @@ int HS_Client::showWindow(afb_req_t request) */ int HS_Client::hideWindow(afb_req_t request) { - HMI_NOTICE("homescreen-service"," called."); std::string req_appid = std::move(get_application_id(request)); if(req_appid.empty()) { - HMI_NOTICE("homescreen-service","can't get application identifier"); + AFB_WARNING("can't get application identifier"); return AFB_REQ_GETAPPLICATIONID_ERROR; } @@ -302,17 +299,17 @@ int HS_Client::hideWindow(afb_req_t request) */ int HS_Client::replyShowWindow(afb_req_t request) { - HMI_NOTICE("homescreen-service","%s application_id = %s.", __FUNCTION__, my_id.c_str()); + AFB_INFO("%s application_id = %s.", __FUNCTION__, my_id.c_str()); int ret = 0; - struct json_object* push_obj = json_object_new_object(); - hs_add_object_to_json_object_str( push_obj, 4, _application_id, my_id.c_str(), _type, __FUNCTION__); const char* param = afb_req_value(request, _parameter); if(param) { + struct json_object* push_obj = json_object_new_object(); + hs_add_object_to_json_object_str( push_obj, 4, _application_id, my_id.c_str(), _type, __FUNCTION__); json_object_object_add(push_obj, _parameter, json_tokener_parse(param)); afb_event_push(my_event, push_obj); } else { - HMI_ERROR("homescreen-service","please input correct parameter."); + AFB_WARNING("please input correct parameter."); ret = AFB_EVENT_BAD_REQUEST; } return ret; @@ -331,20 +328,19 @@ int HS_Client::replyShowWindow(afb_req_t request) */ int HS_Client::showNotification(afb_req_t request) { - HMI_NOTICE("homescreen-service"," called."); int ret = 0; const char *value = afb_req_value(request, _text); if(value) { - HMI_NOTICE("homescreen-service","text is %s", value); + AFB_INFO("text is %s", value); std::string appid =std::move(get_application_id(request)); if(appid.empty()) { - HMI_NOTICE("homescreen-service","can't get application identifier"); + AFB_WARNING("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) { + struct json_object* param_obj = json_object_new_object(); json_object_object_add(param_obj, _icon, json_object_new_string(icon)); json_object_object_add(param_obj, _text, json_object_new_string(value)); json_object_object_add(param_obj, _caller, json_object_new_string(appid.c_str())); @@ -354,12 +350,12 @@ int HS_Client::showNotification(afb_req_t request) afb_event_push(my_event, push_obj); } else { - HMI_NOTICE("homescreen-service","please input icon."); + AFB_WARNING("please input icon."); ret = AFB_REQ_SHOWNOTIFICATION_ERROR; } } else { - HMI_NOTICE("homescreen-service","please input text."); + AFB_WARNING("please input text."); ret = AFB_REQ_SHOWNOTIFICATION_ERROR; } @@ -379,14 +375,13 @@ int HS_Client::showNotification(afb_req_t request) */ int HS_Client::showInformation(afb_req_t request) { - HMI_NOTICE("homescreen-service"," called."); int ret = 0; const char *value = afb_req_value(request, _info); if(value) { - HMI_NOTICE("homescreen-service","info is %s", value); + AFB_INFO("info is %s", value); std::string appid = std::move(get_application_id(request)); if(appid.empty()) { - HMI_NOTICE("homescreen-service","can't get application identifier"); + AFB_WARNING("can't get application identifier"); return AFB_REQ_GETAPPLICATIONID_ERROR; } @@ -398,7 +393,7 @@ int HS_Client::showInformation(afb_req_t request) afb_event_push(my_event, push_obj); } else { - HMI_NOTICE("homescreen-service","please input information."); + AFB_WARNING("please input information."); ret = AFB_REQ_SHOWINFORMATION_ERROR; } @@ -459,15 +454,40 @@ bool HS_Client::isSupportEvent(const char* event) */ int HS_Client::handleRequest(afb_req_t request, const char *verb) { - HMI_NOTICE("homescreen-service","called."); if((strcasecmp(verb, "subscribe") && strcasecmp(verb, "unsubscribe")) && !checkEvent(verb)) return 0; int ret = AFB_EVENT_BAD_REQUEST; auto ip = func_list.find(std::string(verb)); - if(ip != func_list.end()) { - HMI_NOTICE("homescreen-service","[%s]verb found", verb); + if(ip != func_list.end() && ip->second != nullptr) { + AFB_INFO("[%s]verb found", verb); ret = (this->*(ip->second))(request); } return ret; -} \ No newline at end of file +} + +/** + * push event + * + * #### Parameters + * - event : the event want to push + * - param : the parameter contents of event + * + * #### Return + * 0 : success + * others : fail + * + */ +int HS_Client::pushEvent(const char *event, struct json_object *param) +{ + if(!checkEvent(event)) + return 0; + + AFB_INFO("called, event=%s.",event); + struct json_object* push_obj = json_object_new_object(); + hs_add_object_to_json_object_str( push_obj, 4, _application_id, my_id.c_str(), _type, event); + if(param != nullptr) + json_object_object_add(push_obj, _parameter, param); + afb_event_push(my_event, push_obj); + return 0; +}