diff options
author | Ira Lytvynenko (GitHub) <ILytvynenko@luxoft.com> | 2018-05-30 15:05:02 +0300 |
---|---|---|
committer | Alexander <akutsan@luxoft.com> | 2018-08-16 16:16:59 +0300 |
commit | a93f82e48bfd8eb210db25afe02b290144c02577 (patch) | |
tree | c72882186132ebd9f897e02afe19ff3aa751c909 /src/components/application_manager/rpc_plugins/rc_rpc_plugin/src | |
parent | 067a91527e389a78cee24013c4030d719ad3b470 (diff) | |
download | sdl_core-a93f82e48bfd8eb210db25afe02b290144c02577.tar.gz |
Fix comments after review
Diffstat (limited to 'src/components/application_manager/rpc_plugins/rc_rpc_plugin/src')
2 files changed, 31 insertions, 38 deletions
diff --git a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/commands/mobile/get_interior_vehicle_data_request.cc b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/commands/mobile/get_interior_vehicle_data_request.cc index 4f76570e63..f9d65a2635 100644 --- a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/commands/mobile/get_interior_vehicle_data_request.cc +++ b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/commands/mobile/get_interior_vehicle_data_request.cc @@ -63,37 +63,23 @@ bool CheckIfModuleTypeExistInCapabilities( const smart_objects::SmartObject& rc_capabilities, const std::string& module_type) { LOG4CXX_AUTO_TRACE(logger_); - if (enums_value::kRadio == module_type && - !rc_capabilities.keyExists(strings::kradioControlCapabilities)) { - LOG4CXX_DEBUG(logger_, " Radio control capabilities not present"); - return false; - } - if (enums_value::kClimate == module_type && - !rc_capabilities.keyExists(strings::kclimateControlCapabilities)) { - LOG4CXX_DEBUG(logger_, " Climate control capabilities not present"); - return false; - } - if (enums_value::kAudio == module_type && - !rc_capabilities.keyExists(strings::kaudioControlCapabilities)) { - LOG4CXX_DEBUG(logger_, " Audio control capabilities not present"); - return false; - } - if (enums_value::kLight == module_type && - !rc_capabilities.keyExists(strings::klightControlCapabilities)) { - LOG4CXX_DEBUG(logger_, " Light control capabilities not present"); - return false; - } - if (enums_value::kHmiSettings == module_type && - !rc_capabilities.keyExists(strings::khmiSettingsControlCapabilities)) { - LOG4CXX_DEBUG(logger_, " HmiSettings control capabilities not present"); - return false; - } - if (enums_value::kSeat == module_type && - !rc_capabilities.keyExists(strings::kseatControlCapabilities)) { - LOG4CXX_DEBUG(logger_, " Seat control capabilities not present"); - return false; + const std::map<std::string, std::string> params = { + {enums_value::kRadio, strings::kradioControlCapabilities}, + {enums_value::kClimate, strings::kclimateControlCapabilities}, + {enums_value::kAudio, strings::kaudioControlCapabilities}, + {enums_value::kLight, strings::klightControlCapabilities}, + {enums_value::kSeat, strings::kseatControlCapabilities}, + {enums_value::kHmiSettings, strings::khmiSettingsControlCapabilities}}; + bool is_module_type_valid = false; + for (const auto& param : params) { + if (param.first == module_type) { + if (rc_capabilities.keyExists(param.second)) { + is_module_type_valid = true; + break; + } + } } - return true; + return is_module_type_valid; } void GetInteriorVehicleDataRequest::Execute() { diff --git a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/commands/mobile/set_interior_vehicle_data_request.cc b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/commands/mobile/set_interior_vehicle_data_request.cc index b9c90dd7a6..020605b64f 100644 --- a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/commands/mobile/set_interior_vehicle_data_request.cc +++ b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/commands/mobile/set_interior_vehicle_data_request.cc @@ -124,7 +124,7 @@ const std::map<std::string, std::string> GetModuleDataToCapabilitiesMapping() { mapping["memory"] = "memoryAvailable"; // audio mapping["source"] = "sourceAvailable"; - mapping["keepContext"] = "sourceAvailable"; + mapping["keepContext"] = "keepContextAvailable"; mapping["volume"] = "volumeAvailable"; mapping["equalizerSettings"] = "equalizerAvailable"; @@ -229,9 +229,15 @@ bool CheckControlDataByCapabilities( for (; it != control_data.map_end(); ++it) { const std::string& request_parameter = it->first; if (message_params::kLightState == request_parameter) { - return CheckLightNameByCapabilities( - module_caps[strings::kSupportedLights], - control_data[request_parameter][0]); + auto light_data = control_data[request_parameter].asArray()->begin(); + for (; light_data != control_data[request_parameter].asArray()->end(); + ++light_data) { + if(!CheckLightNameByCapabilities( + module_caps[strings::kSupportedLights], *light_data)){ + return false; + } + } + return true; } const std::string& caps_key = mapping[request_parameter]; LOG4CXX_DEBUG(logger_, @@ -394,10 +400,6 @@ void SetInteriorVehicleDataRequest::Execute() { SendHMIRequest(hmi_apis::FunctionID::RC_SetInteriorVehicleData, &(*message_)[app_mngr::strings::msg_params], true); - - if (enums_value::kAudio == module_type) { - CheckAudioSource(module_data[message_params::kAudioControlData]); - } } else { LOG4CXX_WARN(logger_, "Request module type & data mismatch!"); SendResponse(false, @@ -430,6 +432,11 @@ void SetInteriorVehicleDataRequest::on_event( smart_objects::SmartObject response_params; if (result) { response_params = hmi_response[app_mngr::strings::msg_params]; + if (enums_value::kAudio == ModuleType()) { + CheckAudioSource(( + *message_)[app_mngr::strings::msg_params][message_params::kModuleData] + [message_params::kAudioControlData]); + } } std::string info; GetInfo(hmi_response, info); |