summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShobhitAd <adlakhashobhit@gmail.com>2022-02-15 10:14:50 -0500
committerShobhitAd <adlakhashobhit@gmail.com>2022-02-15 10:14:50 -0500
commitf539dbd3877ef08d19812dd7d25d678bd80efb30 (patch)
treecec9ed3a6e2ced7fbb0cf9a884450fc8d6d2a6bf
parentb74c738101f282143094394454d20d12aa8e0d05 (diff)
downloadsdl_core-fix/svd_response_success_based_on_individual_vd_items.tar.gz
Add check for overall success which requires at least one VD item to be successfulfix/svd_response_success_based_on_individual_vd_items
-rw-r--r--src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/subscribe_vehicle_data_request.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/subscribe_vehicle_data_request.cc b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/subscribe_vehicle_data_request.cc
index da79342681..88e45998dc 100644
--- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/subscribe_vehicle_data_request.cc
+++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/subscribe_vehicle_data_request.cc
@@ -144,7 +144,8 @@ void SubscribeVehicleDataRequest::on_event(const event_engine::Event& event) {
if (!SubscribePendingVehicleData(app, converted_msg_params)) {
result_code = mobile_apis::Result::GENERIC_ERROR;
response_info = "Subscription failed for some Vehicle data";
- SendResponse(false, result_code, response_info.c_str());
+ SendResponse(
+ false, result_code, response_info.c_str(), &converted_msg_params);
return;
}
}
@@ -214,6 +215,7 @@ bool SubscribeVehicleDataRequest::SubscribePendingVehicleData(
VD_ResultCode::VDRC_DATA_NOT_SUBSCRIBED,
VD_ResultCode::VDRC_IGNORED});
+ bool overall_success = vi_waiting_for_subscribe_.empty();
for (auto vi_name = vi_waiting_for_subscribe_.begin();
vi_name != vi_waiting_for_subscribe_.end();) {
const bool is_subscription_successful = CheckSubscriptionStatus(
@@ -223,6 +225,7 @@ bool SubscribeVehicleDataRequest::SubscribePendingVehicleData(
auto& ext = VehicleInfoAppExtension::ExtractVIExtension(*app);
ext.subscribeToVehicleInfo(*vi_name);
vi_name = vi_waiting_for_subscribe_.erase(vi_name);
+ overall_success = true;
} else {
auto res_code =
static_cast<hmi_apis::Common_VehicleDataResultCode::eType>(
@@ -238,7 +241,7 @@ bool SubscribeVehicleDataRequest::SubscribePendingVehicleData(
}
}
}
- return vi_waiting_for_subscribe_.empty();
+ return vi_waiting_for_subscribe_.empty() && overall_success;
}
bool SubscribeVehicleDataRequest::Init() {