diff options
author | Dmitriy Boltovskiy <dboltovskyi@luxoft.com> | 2020-12-16 10:48:33 -0500 |
---|---|---|
committer | Dmitriy Boltovskiy <dboltovskyi@luxoft.com> | 2020-12-16 10:48:33 -0500 |
commit | 2097cabea6062fd2071b7d0ecd6c5779364be806 (patch) | |
tree | 39181d259053c941a1a3ca03a01ca2a886133ad8 /src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc | |
parent | 6ef9cfb61065b10785ad4fc37f0b0b0463f86fb7 (diff) | |
parent | 04ced64614e550490e1eae4b866d5d70092a5450 (diff) | |
download | sdl_core-2097cabea6062fd2071b7d0ecd6c5779364be806.tar.gz |
Merge remote-tracking branch 'smart/develop' into fix/sdl_does_not_unsubscribe_from_subbuttons_after_receiving_responsefix/sdl_does_not_unsubscribe_from_subbuttons_after_receiving_response
Diffstat (limited to 'src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc')
-rw-r--r-- | src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc index 1799d7068c..ef0f1614af 100644 --- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc +++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/on_vehicle_data_notification.cc @@ -112,15 +112,22 @@ void OnVehicleDataNotification::Run() { mobile_api::FunctionID::OnVehicleDataID), appSO[idx].enumerate(), ¶ms_permissions); - - for (const auto& param : appSO[idx].enumerate()) { - const auto& allowed_params = params_permissions.allowed_params; - auto param_allowed = allowed_params.find(param); - if (allowed_params.end() == param_allowed) { - SDL_LOG_DEBUG("Param " << param << " is not allowed by policy for app " - << notify_apps[idx]->app_id() - << ". It will be ignored."); - appSO[idx].erase(param); + if (parameters_permissions_.allowed_params.empty() && + parameters_permissions_.disallowed_params.empty() && + parameters_permissions_.undefined_params.empty()) { + SDL_LOG_DEBUG( + "No parameter permissions provided, all params are allowed"); + } else { + for (const auto& param : appSO[idx].enumerate()) { + const auto& allowed_params = params_permissions.allowed_params; + auto param_allowed = allowed_params.find(param); + if (allowed_params.end() == param_allowed) { + SDL_LOG_DEBUG("Param " << param + << " is not allowed by policy for app " + << notify_apps[idx]->app_id() + << ". It will be ignored."); + appSO[idx].erase(param); + } } } |