summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/custom_vehicle_data_manager_impl.cc18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/custom_vehicle_data_manager_impl.cc b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/custom_vehicle_data_manager_impl.cc
index ecd6be207b..f41167cde8 100644
--- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/custom_vehicle_data_manager_impl.cc
+++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/custom_vehicle_data_manager_impl.cc
@@ -111,11 +111,21 @@ void CustomVehicleDataManagerImpl::CreateMobileMessageParams(
const auto& item_name = schema->name;
if (policy_table::VehicleDataItem::kStruct == std::string(schema->type)) {
- const auto param =
- fill_mobile_msg(input_params[key], SearchMethod::RECURSIVE);
- if (!param.empty()) {
- out_params[item_name] = param;
+ auto& input_param = input_params[key];
+ if (*schema->array) {
+ for (size_t i = 0; i < input_param.length(); i++) {
+ const auto param =
+ fill_mobile_msg(input_param[i], SearchMethod::RECURSIVE);
+ out_params[item_name][i] = param;
+ }
continue;
+ } else {
+ const auto param =
+ fill_mobile_msg(input_param, SearchMethod::RECURSIVE);
+ if (!param.empty()) {
+ out_params[item_name] = param;
+ continue;
+ }
}
}