summaryrefslogtreecommitdiff
path: root/src/components/policy/policy_regular/include/policy/policy_manager_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/policy/policy_regular/include/policy/policy_manager_impl.h')
-rw-r--r--src/components/policy/policy_regular/include/policy/policy_manager_impl.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/components/policy/policy_regular/include/policy/policy_manager_impl.h b/src/components/policy/policy_regular/include/policy/policy_manager_impl.h
index 3ca9994a8a..868328bcb4 100644
--- a/src/components/policy/policy_regular/include/policy/policy_manager_impl.h
+++ b/src/components/policy/policy_regular/include/policy/policy_manager_impl.h
@@ -47,6 +47,10 @@
#include "policy/usage_statistics/statistics_manager.h"
#include "policy/policy_helper.h"
#include "utils/timer.h"
+#ifdef SDL_REMOTE_CONTROL
+#include "policy/access_remote.h"
+#include "policy/access_remote_impl.h"
+#endif // SDL_REMOTE_CONTROL
namespace policy_table = rpc::policy_table_interface_base;
@@ -176,6 +180,39 @@ class PolicyManagerImpl : public PolicyManager {
StatusNotifier AddApplication(
const std::string& application_id,
const rpc::policy_table_interface_base::AppHmiTypes& hmi_types);
+#ifdef SDL_REMOTE_CONTROL
+ void SetDefaultHmiTypes(const std::string& application_id,
+ const std::vector<int>& hmi_types);
+ /**
+ * Gets HMI types
+ * @param application_id ID application
+ * @param app_types list to save HMI types
+ * @return true if policy has specific policy for this application
+ */
+ virtual bool GetHMITypes(const std::string& application_id,
+ std::vector<int>* app_types) OVERRIDE;
+ virtual void set_access_remote(utils::SharedPtr<AccessRemote> access_remote);
+ TypeAccess CheckDriverConsent(const Subject& who,
+ const Object& what,
+ const std::string& rpc,
+ const RemoteControlParams& params);
+ void CheckPTUUpdatesChange(
+ const utils::SharedPtr<policy_table::Table> pt_update,
+ const utils::SharedPtr<policy_table::Table> snapshot);
+ bool CheckPTURemoteCtrlChange(
+ const utils::SharedPtr<policy_table::Table> pt_update,
+ const utils::SharedPtr<policy_table::Table> snapshot);
+
+ void CheckRemoteGroupsChange(
+ const utils::SharedPtr<policy_table::Table> pt_update,
+ const utils::SharedPtr<policy_table::Table> snapshot);
+
+ void SendHMILevelChanged(const Subject& who);
+ void UpdateDeviceRank(const Subject& who, const std::string& rank);
+
+ void OnPrimaryGroupsChanged(const std::string& application_id);
+ void OnNonPrimaryGroupsChanged(const std::string& application_id);
+#endif // SDL_REMOTE_CONTROL
virtual void RemoveAppConsentForGroup(const std::string& app_id,
const std::string& group_name);
@@ -319,10 +356,43 @@ class PolicyManagerImpl : public PolicyManager {
void RetrySequence();
private:
+#ifdef SDL_REMOTE_CONTROL
+ void GetPermissions(const std::string device_id,
+ const std::string application_id,
+ Permissions* data);
+ virtual TypeAccess CheckAccess(const PTString& device_id,
+ const PTString& app_id,
+ const PTString& module,
+ const PTString& rpc,
+ const RemoteControlParams& params);
+ virtual bool CheckModule(const PTString& app_id, const PTString& module);
+ virtual void SetAccess(const PTString& dev_id,
+ const PTString& app_id,
+ const PTString& module,
+ bool allowed);
+ virtual void ResetAccess(const PTString& dev_id, const PTString& app_id);
+ virtual void ResetAccess(const PTString& module);
+ virtual void SetPrimaryDevice(const PTString& dev_id);
+ virtual void ResetPrimaryDevice();
+ virtual PTString PrimaryDevice() const;
+ virtual void SetRemoteControl(bool enabled);
+ virtual bool GetRemoteControl() const;
+ virtual void OnChangedPrimaryDevice(const std::string& device_id,
+ const std::string& application_id);
+ virtual void OnChangedRemoteControl(const std::string& device_id,
+ const std::string& application_id);
+ virtual void SendAppPermissionsChanged(const std::string& device_id,
+ const std::string& application_id);
+ virtual bool GetModuleTypes(const std::string& policy_app_id,
+ std::vector<std::string>* modules) const;
+#endif // SDL_REMOTE_CONTROL
PolicyListener* listener_;
UpdateStatusManager update_status_manager_;
CacheManagerInterfaceSPtr cache_;
+#ifdef SDL_REMOTE_CONTROL
+ utils::SharedPtr<AccessRemote> access_remote_;
+#endif
sync_primitives::Lock apps_registration_lock_;
sync_primitives::Lock app_permissions_diff_lock_;
std::map<std::string, AppPermissions> app_permissions_diff_;