summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Kutsan (GitHub) <akutsan@luxoft.com>2017-07-25 15:41:14 +0300
committerGitHub <noreply@github.com>2017-07-25 15:41:14 +0300
commit83f3db7884a85337d595481931d4a6363bbd9716 (patch)
treeddd2bd67d20c2b35ea7bb6c91cf8f08e2dd1769c
parent49823bde7370626f76862e6fc88561931f3436e8 (diff)
parenta2602a05e345e39ccabc4337ee1e23a97cdc9711 (diff)
downloadsdl_core-83f3db7884a85337d595481931d4a6363bbd9716.tar.gz
Merge pull request #170 from AByzhynar/feature/SetInteriorVehicleData_HandleReadOnlyHmiResultCode
Add handling of READ_ONLY code in hmi response
-rw-r--r--src/components/can_cooperation/src/commands/base_command_request.cc4
-rw-r--r--src/components/can_cooperation/src/commands/button_press_request.cc6
-rw-r--r--src/components/can_cooperation/src/commands/get_interior_vehicle_data_request.cc3
3 files changed, 11 insertions, 2 deletions
diff --git a/src/components/can_cooperation/src/commands/base_command_request.cc b/src/components/can_cooperation/src/commands/base_command_request.cc
index 238fb68fae..acc049ee64 100644
--- a/src/components/can_cooperation/src/commands/base_command_request.cc
+++ b/src/components/can_cooperation/src/commands/base_command_request.cc
@@ -257,6 +257,10 @@ const char* BaseCommandRequest::GetMobileResultCode(
return result_codes::kUserDisallowed;
break;
}
+ case hmi_apis::Common_Result::READ_ONLY: {
+ return result_codes::kReadOnly;
+ break;
+ }
default: {
LOG4CXX_ERROR(logger_, "Unknown HMI result code " << hmi_code);
return result_codes::kGenericError;
diff --git a/src/components/can_cooperation/src/commands/button_press_request.cc b/src/components/can_cooperation/src/commands/button_press_request.cc
index fbc683f4e3..9d107ef647 100644
--- a/src/components/can_cooperation/src/commands/button_press_request.cc
+++ b/src/components/can_cooperation/src/commands/button_press_request.cc
@@ -115,8 +115,12 @@ void ButtonPressRequest::OnEvent(
std::string result_code;
std::string info;
- const bool is_response_successful = ParseResultCode(value, result_code, info);
+ bool is_response_successful = ParseResultCode(value, result_code, info);
+ if (can_cooperation::result_codes::kReadOnly == result_code) {
+ is_response_successful = false;
+ result_code = result_codes::kGenericError;
+ }
SendResponse(is_response_successful, result_code.c_str(), info);
}
diff --git a/src/components/can_cooperation/src/commands/get_interior_vehicle_data_request.cc b/src/components/can_cooperation/src/commands/get_interior_vehicle_data_request.cc
index 06f7acdc5a..6976df178d 100644
--- a/src/components/can_cooperation/src/commands/get_interior_vehicle_data_request.cc
+++ b/src/components/can_cooperation/src/commands/get_interior_vehicle_data_request.cc
@@ -82,7 +82,8 @@ void GetInteriorVehicleDataRequest::OnEvent(
std::string info;
bool success = validate_result && ParseResultCode(value, result_code, info);
- if (!validate_result) {
+ if (!validate_result ||
+ can_cooperation::result_codes::kReadOnly == result_code) {
success = false;
result_code = result_codes::kGenericError;
info = "Invalid message received from vehicle";