summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAKalinich-Luxoft <AKalinich@luxoft.com>2017-10-03 11:48:18 +0300
committerValerii <vmalkov@luxoft.com>2018-01-26 15:17:35 +0200
commit4f12a8a308cd5ace6ffb64565a313a71a3fdabe6 (patch)
tree117fa8315d1f59803cc85c394e691fca3fd0f189
parent40091f496b8d32cbac190079902d3c6f4c963c30 (diff)
downloadsdl_core-4f12a8a308cd5ace6ffb64565a313a71a3fdabe6.tar.gz
Add new PermitResult values for EXTERNAL_PROPRIETARY flow
Added new values for more detailed CheckPermissions result description. This values will be used in AM layer for generating info message string.
-rw-r--r--src/components/policy/policy_external/include/policy/policy_types.h8
-rw-r--r--src/components/policy/policy_external/src/cache_manager.cc1
-rw-r--r--src/components/policy/policy_external/src/policy_manager_impl.cc12
3 files changed, 14 insertions, 7 deletions
diff --git a/src/components/policy/policy_external/include/policy/policy_types.h b/src/components/policy/policy_external/include/policy/policy_types.h
index f57919b6f7..4055922a02 100644
--- a/src/components/policy/policy_external/include/policy/policy_types.h
+++ b/src/components/policy/policy_external/include/policy/policy_types.h
@@ -113,7 +113,13 @@ typedef std::vector<std::string> PermissionsList;
*/
typedef std::vector<std::string> StringArray;
-enum PermitResult { kRpcAllowed = 0, kRpcDisallowed, kRpcUserDisallowed };
+enum PermitResult {
+ kRpcAllowed = 0,
+ kRpcDisallowed,
+ kRpcUserDisallowed,
+ kRpcAllParamsDisallowed,
+ kRpcAllParamsUserDisallowed
+};
/**
* @struct Stores result of check:
diff --git a/src/components/policy/policy_external/src/cache_manager.cc b/src/components/policy/policy_external/src/cache_manager.cc
index a9b599f981..a9ba20aa29 100644
--- a/src/components/policy/policy_external/src/cache_manager.cc
+++ b/src/components/policy/policy_external/src/cache_manager.cc
@@ -1152,6 +1152,7 @@ void CacheManager::CheckPermissions(const PTString& app_id,
policy_table::Strings::const_iterator app_groups_iter_end =
pt_->policy_table.app_policies_section.apps[app_id].groups.end();
+ result.hmi_level_permitted = PermitResult::kRpcDisallowed;
policy_table::FunctionalGroupings::const_iterator concrete_group;
for (; app_groups_iter != app_groups_iter_end; ++app_groups_iter) {
diff --git a/src/components/policy/policy_external/src/policy_manager_impl.cc b/src/components/policy/policy_external/src/policy_manager_impl.cc
index 806b7e13ba..6a186f243b 100644
--- a/src/components/policy/policy_external/src/policy_manager_impl.cc
+++ b/src/components/policy/policy_external/src/policy_manager_impl.cc
@@ -665,7 +665,7 @@ void PolicyManagerImpl::CheckPermissions(const PTString& app_id,
.parameter_permissions.any_parameter_disallowed_by_user) {
LOG4CXX_DEBUG(logger_, "All parameters are disallowed by user.");
result.list_of_disallowed_params = rpc_params;
- result.hmi_level_permitted = kRpcUserDisallowed;
+ result.hmi_level_permitted = kRpcAllParamsUserDisallowed;
return;
}
@@ -673,7 +673,7 @@ void PolicyManagerImpl::CheckPermissions(const PTString& app_id,
.parameter_permissions.any_parameter_disallowed_by_policy) {
LOG4CXX_DEBUG(logger_, "All parameters are disallowed by policy.");
result.list_of_undefined_params = rpc_params;
- result.hmi_level_permitted = kRpcDisallowed;
+ result.hmi_level_permitted = kRpcAllParamsDisallowed;
return;
}
@@ -709,11 +709,11 @@ void PolicyManagerImpl::CheckPermissions(const PTString& app_id,
}
if (result.DisallowedInclude(rpc_params)) {
- LOG4CXX_DEBUG(logger_, "All parameters are disallowed.");
- result.hmi_level_permitted = kRpcUserDisallowed;
+ LOG4CXX_DEBUG(logger_, "All parameters are disallowed by user.");
+ result.hmi_level_permitted = kRpcAllParamsUserDisallowed;
} else if (!result.IsAnyAllowed(rpc_params)) {
- LOG4CXX_DEBUG(logger_, "There are no parameters allowed.");
- result.hmi_level_permitted = kRpcDisallowed;
+ LOG4CXX_DEBUG(logger_, "There are no parameters allowed by policy.");
+ result.hmi_level_permitted = kRpcAllParamsDisallowed;
}
if (cache_->IsApplicationRevoked(app_id)) {