diff options
Diffstat (limited to 'src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile')
18 files changed, 131 insertions, 166 deletions
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc index 288cafb94e..c83538c023 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc @@ -209,9 +209,9 @@ bool AddSubMenuRequest::Init() { bool AddSubMenuRequest::CheckSubMenuName() { SDL_LOG_AUTO_TRACE(); - const char* str = NULL; - str = (*message_)[strings::msg_params][strings::menu_name].asCharArray(); + const char* str = + (*message_)[strings::msg_params][strings::menu_name].asCharArray(); if (!CheckSyntax(str)) { SDL_LOG_INFO("Invalid subMenu name."); return false; diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/alert_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/alert_request.cc index 55783be4cd..5312491035 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/alert_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/alert_request.cc @@ -409,8 +409,6 @@ void AlertRequest::SendSpeakRequest(int32_t app_id, SmartObject msg_params = smart_objects::SmartObject(SmartType_Map); if (tts_chunks_exists && length_tts_chunks) { msg_params[hmi_request::tts_chunks] = - smart_objects::SmartObject(SmartType_Array); - msg_params[hmi_request::tts_chunks] = (*message_)[strings::msg_params][strings::tts_chunks]; } if ((*message_)[strings::msg_params].keyExists(strings::play_tone) && diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/change_registration_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/change_registration_request.cc index 8e13110515..13a57cf9a8 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/change_registration_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/change_registration_request.cc @@ -44,7 +44,8 @@ namespace { namespace custom_str = utils::custom_string; struct IsSameNickname { - IsSameNickname(const custom_str::CustomString& app_id) : app_id_(app_id) {} + explicit IsSameNickname(const custom_str::CustomString& app_id) + : app_id_(app_id) {} bool operator()(const policy::StringArray::value_type& nickname) const { return app_id_.CompareIgnoreCase(nickname.c_str()); } @@ -512,7 +513,6 @@ bool ChangeRegistrationRequest::IsLanguageSupportedByTTS( for (size_t i = 0; i < tts_languages->length(); ++i) { if (hmi_display_lang == tts_languages->getElement(i).asInt()) { return true; - break; } } diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/create_interaction_choice_set_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/create_interaction_choice_set_request.cc index d43e8e0710..345a6a8497 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/create_interaction_choice_set_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/create_interaction_choice_set_request.cc @@ -239,9 +239,8 @@ bool CreateInteractionChoiceSetRequest::compareStr( bool CreateInteractionChoiceSetRequest::IsWhiteSpaceExist( const smart_objects::SmartObject& choice_set) { SDL_LOG_AUTO_TRACE(); - const char* str = NULL; - str = choice_set[strings::menu_name].asCharArray(); + const char* str = choice_set[strings::menu_name].asCharArray(); if (!CheckSyntax(str)) { SDL_LOG_ERROR("Invalid menu_name syntax check failed"); return true; @@ -322,8 +321,6 @@ void CreateInteractionChoiceSetRequest::SendVRAddCommandRequests( msg_params[strings::cmd_id] = choice_set[strings::choice_set][chs_num][strings::choice_id]; msg_params[strings::vr_commands] = - smart_objects::SmartObject(smart_objects::SmartType_Array); - msg_params[strings::vr_commands] = choice_set[strings::choice_set][chs_num][strings::vr_commands]; sync_primitives::AutoLock commands_lock(vr_commands_lock_); diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/delete_command_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/delete_command_request.cc index 0c731a027b..e6bdd50350 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/delete_command_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/delete_command_request.cc @@ -96,15 +96,6 @@ void DeleteCommandRequest::Run() { (*message_)[strings::msg_params][strings::cmd_id]; msg_params[strings::app_id] = application->app_id(); - // we should specify amount of required responses in the 1st request - uint32_t chaining_counter = 0; - if (command.keyExists(strings::menu_params)) { - ++chaining_counter; - } - - if (command.keyExists(strings::vr_commands)) { - ++chaining_counter; - } /* Need to set all flags before sending request to HMI * for correct processing this flags in method on_event */ if (command.keyExists(strings::menu_params)) { diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/get_way_points_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/get_way_points_request.cc index 33d3479941..54b542d245 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/get_way_points_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/get_way_points_request.cc @@ -68,10 +68,8 @@ void GetWayPointsRequest::Run() { SendResponse(false, mobile_apis::Result::APPLICATION_NOT_REGISTERED); return; } - smart_objects::SmartObject msg_params = - smart_objects::SmartObject(smart_objects::SmartType_Map); - msg_params = (*message_)[strings::msg_params]; + smart_objects::SmartObject msg_params = (*message_)[strings::msg_params]; msg_params[strings::app_id] = app->app_id(); StartAwaitForInterface(HmiInterfaces::HMI_INTERFACE_Navigation); SendHMIRequest(hmi_apis::FunctionID::Navigation_GetWayPoints, diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/on_system_request_notification.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/on_system_request_notification.cc index 90ed038b89..4a97d5b970 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/on_system_request_notification.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/on_system_request_notification.cc @@ -173,7 +173,7 @@ void OnSystemRequestNotification::AddHeader(BinaryMessage& message) const { } char timeout_str[24]; - if (0 > sprintf(timeout_str, "%d", timeout)) { + if (0 > sprintf(timeout_str, "%u", timeout)) { memset(timeout_str, 0, sizeof(timeout_str)); } diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/perform_interaction_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/perform_interaction_request.cc index 9c218e0e99..7b29f33d24 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/perform_interaction_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/perform_interaction_request.cc @@ -34,12 +34,12 @@ #include "sdl_rpc_plugin/commands/mobile/perform_interaction_request.h" #include <string.h> + #include <numeric> #include <string> #include "application_manager/application_impl.h" #include "application_manager/message_helper.h" - #include "interfaces/HMI_API.h" #include "interfaces/MOBILE_API.h" #include "utils/custom_string.h" @@ -871,9 +871,9 @@ void PerformInteractionRequest::DisablePerformInteraction() { bool PerformInteractionRequest::IsWhiteSpaceExist() { SDL_LOG_AUTO_TRACE(); - const char* str = NULL; - str = (*message_)[strings::msg_params][strings::initial_text].asCharArray(); + const char* str = + (*message_)[strings::msg_params][strings::initial_text].asCharArray(); if (!CheckSyntax(str)) { SDL_LOG_ERROR("Invalid initial_text syntax check failed"); return true; @@ -1038,7 +1038,6 @@ bool PerformInteractionRequest::CheckChoiceIDFromRequest( const smart_objects::SmartObject& choice_set_id_list) const { SDL_LOG_AUTO_TRACE(); - size_t choice_list_length = 0; std::set<uint32_t> choice_id_set; std::pair<std::set<uint32_t>::iterator, bool> ins_res; @@ -1046,12 +1045,11 @@ bool PerformInteractionRequest::CheckChoiceIDFromRequest( auto choice_set = app->FindChoiceSet(choice_set_id_list[i].asInt()); if (smart_objects::SmartType_Null == choice_set.getType()) { SDL_LOG_ERROR( - "Couldn't find choiceset_id = " << choice_set_id_list[i].asInt()); return false; } - choice_list_length = choice_set[strings::choice_set].length(); + size_t choice_list_length = choice_set[strings::choice_set].length(); const smart_objects::SmartObject& choices_list = choice_set[strings::choice_set]; for (size_t k = 0; k < choice_list_length; ++k) { @@ -1076,15 +1074,14 @@ const bool PerformInteractionRequest::HasHMIResponsesToWait() const { void PerformInteractionRequest::SendBothModeResponse( const smart_objects::SmartObject& msg_param) { SDL_LOG_AUTO_TRACE(); - mobile_apis::Result::eType perform_interaction_result_code = - mobile_apis::Result::INVALID_ENUM; + app_mngr::commands::ResponseInfo ui_perform_info( ui_result_code_, HmiInterfaces::HMI_INTERFACE_UI, application_manager_); app_mngr::commands::ResponseInfo vr_perform_info( vr_result_code_, HmiInterfaces::HMI_INTERFACE_VR, application_manager_); const bool result = PrepareResultForMobileResponse(ui_perform_info, vr_perform_info); - perform_interaction_result_code = + mobile_apis::Result::eType perform_interaction_result_code = PrepareResultCodeForResponse(ui_perform_info, vr_perform_info); const smart_objects::SmartObject* response_params = msg_param.empty() ? NULL : &msg_param; diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/put_file_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/put_file_request.cc index 50ff392e33..5263991716 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/put_file_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/put_file_request.cc @@ -165,7 +165,6 @@ void PutFileRequest::Run() { is_persistent_file_ = false; bool is_system_file = false; length_ = binary_data.size(); - bool is_download_complete = true; bool offset_exist = (*message_)[strings::msg_params].keyExists(strings::offset); @@ -252,6 +251,7 @@ void PutFileRequest::Run() { case mobile_apis::Result::SUCCESS: { SDL_LOG_INFO("PutFile is successful"); if (!is_system_file) { + bool is_download_complete = true; AppFile file(sync_file_name_, is_persistent_file_, is_download_complete, diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc index c30f83bc00..72faad8668 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc @@ -111,7 +111,7 @@ std::string AppHMITypeToString(mobile_apis::AppHMIType::eType type) { } struct AppHMITypeInserter { - AppHMITypeInserter(smart_objects::SmartObject& so_array) + explicit AppHMITypeInserter(smart_objects::SmartObject& so_array) : index_(0), so_array_(so_array) {} bool operator()(const std::string& app_hmi_type) { @@ -162,7 +162,7 @@ class SmartArrayValueExtractor { }; struct IsSameNickname { - IsSameNickname(const custom_str::CustomString app_name) + explicit IsSameNickname(const custom_str::CustomString app_name) : app_name_(app_name) {} bool operator()(const policy::StringArray::value_type& nickname) const { return app_name_.CompareIgnoreCase(nickname.c_str()); @@ -1369,9 +1369,9 @@ bool RegisterAppInterfaceRequest::IsApplicationWithSameAppIdRegistered() { bool RegisterAppInterfaceRequest::IsWhiteSpaceExist() { SDL_LOG_AUTO_TRACE(); - const char* str = NULL; - str = (*message_)[strings::msg_params][strings::app_name].asCharArray(); + const char* str = + (*message_)[strings::msg_params][strings::app_name].asCharArray(); if (!CheckSyntax(str)) { SDL_LOG_ERROR("Invalid app_name syntax check failed"); return true; diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/send_location_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/send_location_request.cc index 37d43a354b..fcc898b348 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/send_location_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/send_location_request.cc @@ -119,9 +119,7 @@ void SendLocationRequest::Run() { } if (msg_params.keyExists(strings::location_image)) { - mobile_apis::Result::eType verification_result = - mobile_apis::Result::SUCCESS; - verification_result = MessageHelper::VerifyImage( + mobile_apis::Result::eType verification_result = MessageHelper::VerifyImage( (*message_)[strings::msg_params][strings::location_image], app, application_manager_); @@ -132,8 +130,7 @@ void SendLocationRequest::Run() { } } - SmartObject request_msg_params = SmartObject(smart_objects::SmartType_Map); - request_msg_params = msg_params; + SmartObject request_msg_params = msg_params; request_msg_params[strings::app_id] = app->hmi_app_id(); StartAwaitForInterface(HmiInterfaces::HMI_INTERFACE_Navigation); SendHMIRequest( diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/set_global_properties_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/set_global_properties_request.cc index 922a45ebdb..396763ff98 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/set_global_properties_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/set_global_properties_request.cc @@ -111,10 +111,8 @@ void SetGlobalPropertiesRequest::Run() { return; } - mobile_apis::Result::eType verification_result = mobile_apis::Result::SUCCESS; - if (msg_params.keyExists(strings::menu_icon)) { - verification_result = MessageHelper::VerifyImage( + mobile_apis::Result::eType verification_result = MessageHelper::VerifyImage( msg_params[strings::menu_icon], app, application_manager_); if (mobile_apis::Result::INVALID_DATA == verification_result) { SDL_LOG_ERROR("MessageHelper::VerifyImage return " @@ -241,11 +239,11 @@ void SetGlobalPropertiesRequest::Run() { application_manager_.GetPluginManager().ForEachPlugin( on_global_properties_updated); - smart_objects::SmartObject params = + smart_objects::SmartObject rc_request_params = smart_objects::SmartObject(smart_objects::SmartType_Map); - params[strings::app_id] = app->app_id(); - params[strings::user_location] = user_location; - SendRCRequest(params, true); + rc_request_params[strings::app_id] = app->app_id(); + rc_request_params[strings::user_location] = user_location; + SendRCRequest(rc_request_params, true); } // check TTS params @@ -257,7 +255,7 @@ void SetGlobalPropertiesRequest::Run() { if (is_help_prompt_present) { smart_objects::SmartObject& help_prompt = (*message_)[strings::msg_params][strings::help_prompt]; - verification_result = + mobile_apis::Result::eType verification_result = MessageHelper::VerifyTtsFiles(help_prompt, app, application_manager_); if (mobile_apis::Result::FILE_NOT_FOUND == verification_result) { @@ -273,8 +271,9 @@ void SetGlobalPropertiesRequest::Run() { if (is_timeout_prompt_present) { smart_objects::SmartObject& timeout_prompt = (*message_)[strings::msg_params][strings::timeout_prompt]; - verification_result = MessageHelper::VerifyTtsFiles( - timeout_prompt, app, application_manager_); + mobile_apis::Result::eType verification_result = + MessageHelper::VerifyTtsFiles( + timeout_prompt, app, application_manager_); if (mobile_apis::Result::FILE_NOT_FOUND == verification_result) { SDL_LOG_ERROR("MessageHelper::VerifyTtsFiles return " @@ -291,7 +290,7 @@ void SetGlobalPropertiesRequest::Run() { std::begin(invalid_params), std::end(invalid_params), std::string(""), - [](std::string& first, std::string& second) { + [](std::string& first, const std::string& second) { return first.empty() ? second : first + ", " + second; }); const std::string info = @@ -518,7 +517,6 @@ SetGlobalPropertiesRequest::PrepareResultCodeForResponse( const app_mngr::commands::ResponseInfo& second, const app_mngr::commands::ResponseInfo& third) { SDL_LOG_AUTO_TRACE(); - mobile_apis::Result::eType result_code = mobile_apis::Result::INVALID_ENUM; if (IsResultCodeUnsupported(first, second, third) || IsResultCodeUnsupported(second, third, first) || IsResultCodeUnsupported(third, first, second)) { @@ -547,7 +545,7 @@ SetGlobalPropertiesRequest::PrepareResultCodeForResponse( hmi_apis::Common_Result::eType intermediate_result = std::max(first_result, second_result); - result_code = MessageHelper::HMIToMobileResult( + mobile_apis::Result::eType result_code = MessageHelper::HMIToMobileResult( std::max(intermediate_result, third_result)); return result_code; diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/set_media_clock_timer_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/set_media_clock_timer_request.cc index b7b8fc27ad..cf5d80ecc0 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/set_media_clock_timer_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/set_media_clock_timer_request.cc @@ -77,10 +77,8 @@ void SetMediaClockRequest::Run() { } if (isDataValid()) { - smart_objects::SmartObject msg_params = - smart_objects::SmartObject(smart_objects::SmartType_Map); // copy entirely msg - msg_params = (*message_)[strings::msg_params]; + smart_objects::SmartObject msg_params = (*message_)[strings::msg_params]; msg_params[strings::app_id] = app->app_id(); StartAwaitForInterface(HmiInterfaces::HMI_INTERFACE_UI); diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/show_constant_tbt_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/show_constant_tbt_request.cc index 04310bcd58..cfb9d5896e 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/show_constant_tbt_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/show_constant_tbt_request.cc @@ -80,9 +80,7 @@ void ShowConstantTBTRequest::Run() { return; } - smart_objects::SmartObject msg_params = - smart_objects::SmartObject(smart_objects::SmartType_Map); - msg_params = (*message_)[strings::msg_params]; + smart_objects::SmartObject msg_params = (*message_)[strings::msg_params]; if (IsWhiteSpaceExist()) { SDL_LOG_ERROR("Incoming show constant TBT has contains \t\n \\t \\n"); diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/slider_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/slider_request.cc index 15ced6d5a1..e46d3fd7f0 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/slider_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/slider_request.cc @@ -109,9 +109,7 @@ void SliderRequest::Run() { return; } - smart_objects::SmartObject msg_params = - smart_objects::SmartObject(smart_objects::SmartType_Map); - msg_params = (*message_)[strings::msg_params]; + smart_objects::SmartObject msg_params = (*message_)[strings::msg_params]; msg_params[strings::app_id] = application->app_id(); if (!(*message_)[strings::msg_params].keyExists(strings::timeout)) { @@ -183,9 +181,9 @@ void SliderRequest::on_event(const event_engine::Event& event) { bool SliderRequest::IsWhiteSpaceExist() { SDL_LOG_AUTO_TRACE(); - const char* str = NULL; - str = (*message_)[strings::msg_params][strings::slider_header].asCharArray(); + const char* str = + (*message_)[strings::msg_params][strings::slider_header].asCharArray(); if (!CheckSyntax(str)) { SDL_LOG_ERROR("Invalid slider_header value syntax check failed"); return true; diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/subtle_alert_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/subtle_alert_request.cc index 502290328a..327315b372 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/subtle_alert_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/subtle_alert_request.cc @@ -349,7 +349,6 @@ void SubtleAlertRequest::SendSubtleAlertRequest(int32_t app_id) { hmi_apis::Common_TextFieldName::subtleAlertText2; msg_params[hmi_request::alert_strings][index][hmi_request::field_text] = (*message_)[strings::msg_params][strings::alert_text2]; - index++; } // softButtons @@ -408,8 +407,6 @@ void SubtleAlertRequest::SendSpeakRequest(int32_t app_id, SmartObject msg_params = smart_objects::SmartObject(SmartType_Map); if (tts_chunks_exists && length_tts_chunks) { msg_params[hmi_request::tts_chunks] = - smart_objects::SmartObject(SmartType_Array); - msg_params[hmi_request::tts_chunks] = (*message_)[strings::msg_params][strings::tts_chunks]; } msg_params[strings::app_id] = app_id; diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/system_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/system_request.cc index 17e295304c..cca088ed2d 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/system_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/system_request.cc @@ -34,10 +34,12 @@ Copyright (c) 2018, Ford Motor Company #include "sdl_rpc_plugin/commands/mobile/system_request.h" #include <stdio.h> + #include <algorithm> #include <sstream> #include <string> #include <vector> + #include "application_manager/policies/policy_handler_interface.h" #include "formatters/CFormatterJsonBase.h" #include "interfaces/MOBILE_API.h" @@ -70,11 +72,99 @@ const unsigned int kAppIdLengthMax = 40U; const unsigned int kAppNameLengthMax = 100U; const unsigned int kLanguageArraySizeMax = 100U; +typedef std::set<std::string> SynonymsSet; +typedef std::map<std::string, SynonymsSet> SynonymsMap; + +bool ValidateSynonymsAtLanguage(const smart_objects::SmartObject& language, + const std::string& language_name, + SynonymsMap& synonyms_map) { + if (!language[language_name].keyExists(json::vrSynonyms)) { + SDL_LOG_WARN(kQueryAppsValidationFailedPrefix + << "'languages.vrSynonyms' doesn't exist"); + return false; + } + const smart_objects::SmartArray* synonyms_array = + language[language_name][json::vrSynonyms].asArray(); + if (!synonyms_array) { + SDL_LOG_WARN(kQueryAppsValidationFailedPrefix + << "vrSynonyms is not array."); + return false; + } + const size_t synonyms_array_size = synonyms_array->size(); + if (synonyms_array_size < kVrArraySizeMin) { + SDL_LOG_WARN(kQueryAppsValidationFailedPrefix + << "vrSynomyms array has [" << synonyms_array_size + << "] size < allowed min size [" << kVrArraySizeMin << "]"); + return false; + } + if (synonyms_array_size > kVrArraySizeMax) { + SDL_LOG_WARN(kQueryAppsValidationFailedPrefix + << "vrSynomyms array size [" << synonyms_array_size + << "] exceeds maximum allowed size [" << kVrArraySizeMax + << "]"); + return false; + } + + for (std::size_t idx = 0; idx < synonyms_array_size; ++idx) { + const smart_objects::SmartObject& synonym = (*synonyms_array)[idx]; + const std::string vrSynonym = synonym.asString(); + if (vrSynonym.length() > kVrSynonymLengthMax) { + SDL_LOG_WARN(kQueryAppsValidationFailedPrefix + << "vrSYnomym item [" << idx << "] exceeds max length [" + << vrSynonym.length() << "]>[" << kVrSynonymLengthMax + << "]"); + return false; + } + if (vrSynonym.length() < kVrSynonymLengthMin) { + SDL_LOG_WARN(kQueryAppsValidationFailedPrefix + << "vrSYnomym item [" << idx << "] length [" + << vrSynonym.length() << "] is less then min length [" + << kVrSynonymLengthMin << "] allowed."); + return false; + } + // Verify duplicates + SynonymsMap::iterator synonyms_map_iter = synonyms_map.find(language_name); + if (synonyms_map_iter != synonyms_map.end()) { + if (!(*synonyms_map_iter).second.insert(vrSynonym).second) { + SDL_LOG_WARN(kQueryAppsValidationFailedPrefix + << "vrSYnomym item already defined [" << vrSynonym.c_str() + << "] for language [" << language_name << "]"); + return false; + } + } + } + return true; +} + +bool CheckMandatoryParametersPresent( + const smart_objects::SmartObject& app_data) { + if (!app_data.keyExists(json::android) && !app_data.keyExists(json::ios)) { + return false; + } + + if (app_data.keyExists(json::android) && + !app_data[json::android].keyExists(json::packageName)) { + return false; + } + + if (app_data.keyExists(json::ios) && + !app_data[json::ios].keyExists(json::urlScheme)) { + return false; + } + + if (!app_data.keyExists(json::appId)) { + return false; + } + + if (!app_data.keyExists(json::name)) { + return false; + } + + return true; +} + class QueryAppsDataValidator { public: - typedef std::set<std::string> SynonymsSet; - typedef std::map<std::string, SynonymsSet> SynonymsMap; - QueryAppsDataValidator(smart_objects::SmartObject& object, const ApplicationManager& manager) : data_(object), manager_(manager) {} @@ -298,96 +388,6 @@ class QueryAppsDataValidator { return true; } - bool ValidateSynonymsAtLanguage(const smart_objects::SmartObject& language, - const std::string& language_name, - SynonymsMap& synonyms_map) const { - if (!language[language_name].keyExists(json::vrSynonyms)) { - SDL_LOG_WARN(kQueryAppsValidationFailedPrefix - << "'languages.vrSynonyms' doesn't exist"); - return false; - } - const smart_objects::SmartArray* synonyms_array = - language[language_name][json::vrSynonyms].asArray(); - if (!synonyms_array) { - SDL_LOG_WARN(kQueryAppsValidationFailedPrefix - << "vrSynonyms is not array."); - return false; - } - const size_t synonyms_array_size = synonyms_array->size(); - if (synonyms_array_size < kVrArraySizeMin) { - SDL_LOG_WARN(kQueryAppsValidationFailedPrefix - << "vrSynomyms array has [" << synonyms_array_size - << "] size < allowed min size [" << kVrArraySizeMin << "]"); - return false; - } - if (synonyms_array_size > kVrArraySizeMax) { - SDL_LOG_WARN(kQueryAppsValidationFailedPrefix - << "vrSynomyms array size [" << synonyms_array_size - << "] exceeds maximum allowed size [" << kVrArraySizeMax - << "]"); - return false; - } - - for (std::size_t idx = 0; idx < synonyms_array_size; ++idx) { - const smart_objects::SmartObject& synonym = (*synonyms_array)[idx]; - const std::string vrSynonym = synonym.asString(); - if (vrSynonym.length() > kVrSynonymLengthMax) { - SDL_LOG_WARN(kQueryAppsValidationFailedPrefix - << "vrSYnomym item [" << idx << "] exceeds max length [" - << vrSynonym.length() << "]>[" << kVrSynonymLengthMax - << "]"); - return false; - } - if (vrSynonym.length() < kVrSynonymLengthMin) { - SDL_LOG_WARN(kQueryAppsValidationFailedPrefix - << "vrSYnomym item [" << idx << "] length [" - << vrSynonym.length() << "] is less then min length [" - << kVrSynonymLengthMin << "] allowed."); - return false; - } - // Verify duplicates - SynonymsMap::iterator synonyms_map_iter = - synonyms_map.find(language_name); - if (synonyms_map_iter != synonyms_map.end()) { - if (!(*synonyms_map_iter).second.insert(vrSynonym).second) { - SDL_LOG_WARN(kQueryAppsValidationFailedPrefix - << "vrSYnomym item already defined [" - << vrSynonym.c_str() << "] for language [" - << language_name << "]"); - return false; - } - } - } - return true; - } - - bool CheckMandatoryParametersPresent( - const smart_objects::SmartObject& app_data) const { - if (!app_data.keyExists(json::android) && !app_data.keyExists(json::ios)) { - return false; - } - - if (app_data.keyExists(json::android) && - !app_data[json::android].keyExists(json::packageName)) { - return false; - } - - if (app_data.keyExists(json::ios) && - !app_data[json::ios].keyExists(json::urlScheme)) { - return false; - } - - if (!app_data.keyExists(json::appId)) { - return false; - } - - if (!app_data.keyExists(json::name)) { - return false; - } - - return true; - } - smart_objects::SmartObject& data_; std::set<std::string> applications_id_set_; const ApplicationManager& manager_; @@ -466,7 +466,7 @@ void SystemRequest::Run() { SDL_LOG_TRACE("Request subtype: " << request_subtype << " is ALLOWED"); } - std::string file_name = kSYNC; + std::string file_name; if ((*message_)[strings::msg_params].keyExists(strings::file_name)) { file_name = (*message_)[strings::msg_params][strings::file_name].asString(); } else { diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/update_turn_list_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/update_turn_list_request.cc index 824d1150b3..3da9206184 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/update_turn_list_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/update_turn_list_request.cc @@ -112,9 +112,7 @@ void UpdateTurnListRequest::Run() { } } - smart_objects::SmartObject msg_params = - smart_objects::SmartObject(smart_objects::SmartType_Map); - msg_params = (*message_)[strings::msg_params]; + smart_objects::SmartObject msg_params = (*message_)[strings::msg_params]; if ((*message_)[strings::msg_params].keyExists(strings::turn_list)) { if (!CheckTurnListArray()) { |