summaryrefslogtreecommitdiff
path: root/src/components/include/application_manager
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2018-02-12 16:16:18 -0500
committerGitHub <noreply@github.com>2018-02-12 16:16:18 -0500
commit3e0852ef27d0fff950ea4a1dae136c972c40c759 (patch)
tree4d1aed127f42444c740a1c414c01177e70340b81 /src/components/include/application_manager
parent11ce1efd850cadbe63a9ac8017b49b372afc5c3f (diff)
parent37614e497366fb2a91f788da72fc9046527fcff2 (diff)
downloadsdl_core-3e0852ef27d0fff950ea4a1dae136c972c40c759.tar.gz
Merge branch 'release/4.5.0' into fix/OnDriverDistruction
Diffstat (limited to 'src/components/include/application_manager')
-rw-r--r--src/components/include/application_manager/application_manager.h67
-rw-r--r--src/components/include/application_manager/policies/policy_handler_interface.h9
2 files changed, 75 insertions, 1 deletions
diff --git a/src/components/include/application_manager/application_manager.h b/src/components/include/application_manager/application_manager.h
index be85bd5359..eb9159f0b3 100644
--- a/src/components/include/application_manager/application_manager.h
+++ b/src/components/include/application_manager/application_manager.h
@@ -254,6 +254,7 @@ class ApplicationManager {
const utils::SharedPtr<Application> app) = 0;
/**
+ * DEPRECATED
* @brief Checks if Application is subscribed for way points
* @param Application AppID
* @return true if Application is subscribed for way points
@@ -262,18 +263,40 @@ class ApplicationManager {
virtual bool IsAppSubscribedForWayPoints(const uint32_t app_id) const = 0;
/**
+ * DEPRECATED
* @brief Subscribe Application for way points
* @param Application AppID
*/
virtual void SubscribeAppForWayPoints(const uint32_t app_id) = 0;
/**
+ * DEPRECATED
* @brief Unsubscribe Application for way points
* @param Application AppID
*/
virtual void UnsubscribeAppFromWayPoints(const uint32_t app_id) = 0;
/**
+ * @brief Checks if Application is subscribed for way points
+ * @param Application pointer
+ * @return true if Application is subscribed for way points
+ * otherwise false
+ */
+ virtual bool IsAppSubscribedForWayPoints(ApplicationSharedPtr app) const = 0;
+
+ /**
+ * @brief Subscribe Application for way points
+ * @param Application pointer
+ */
+ virtual void SubscribeAppForWayPoints(ApplicationSharedPtr app) = 0;
+
+ /**
+ * @brief Unsubscribe Application for way points
+ * @param Application pointer
+ */
+ virtual void UnsubscribeAppFromWayPoints(ApplicationSharedPtr app) = 0;
+
+ /**
* @brief Is Any Application is subscribed for way points
* @return true if some app is subscribed otherwise false
*/
@@ -313,6 +336,17 @@ class ApplicationManager {
virtual void ProcessQueryApp(const smart_objects::SmartObject& sm_object,
const uint32_t connection_key) = 0;
+ /**
+ * @brief ProcessReconnection handles reconnection flow for application on
+ * transport switch
+ * @param application Pointer to switched application, must be validated
+ * before passing
+ * @param connection_key Connection key from registration request of switched
+ * application
+ */
+ virtual void ProcessReconnection(ApplicationSharedPtr application,
+ const uint32_t connection_key) = 0;
+
virtual bool is_attenuated_supported() const = 0;
/**
@@ -334,6 +368,13 @@ class ApplicationManager {
*/
virtual void OnApplicationRegistered(ApplicationSharedPtr app) = 0;
+ /**
+ * @brief OnApplicationSwitched starts activies postponed during application
+ * transport switching
+ * @param app Application
+ */
+ virtual void OnApplicationSwitched(ApplicationSharedPtr app) = 0;
+
virtual connection_handler::ConnectionHandler& connection_handler() const = 0;
virtual protocol_handler::ProtocolHandler& protocol_handler() const = 0;
virtual policy::PolicyHandlerInterface& GetPolicyHandler() = 0;
@@ -535,6 +576,15 @@ class ApplicationManager {
virtual bool IsApplicationForbidden(
uint32_t connection_key, const std::string& policy_app_id) const = 0;
+ /**
+ * @brief IsAppInReconnectMode check if application belongs to session
+ * affected by transport switching at the moment
+ * @param policy_app_id Application id
+ * @return True if application is registered within session being switched,
+ * otherwise - false
+ */
+ virtual bool IsAppInReconnectMode(const std::string& policy_app_id) const = 0;
+
virtual resumption::ResumeCtrl& resume_controller() = 0;
/**
@@ -595,7 +645,22 @@ class ApplicationManager {
/**
* @brief CreateRegularState create regular HMI state for application
- * @param app_id
+ * @param app Application
+ * @param hmi_level of returned state
+ * @param audio_state of returned state
+ * @param system_context of returned state
+ * @return new regular HMI state
+ */
+ virtual HmiStatePtr CreateRegularState(
+ utils::SharedPtr<Application> app,
+ mobile_apis::HMILevel::eType hmi_level,
+ mobile_apis::AudioStreamingState::eType audio_state,
+ mobile_apis::SystemContext::eType system_context) const = 0;
+
+ /**
+ * DEPRECATED
+ * @brief CreateRegularState create regular HMI state for application
+ * @param app_id Application id
* @param hmi_level of returned state
* @param audio_state of returned state
* @param system_context of returned state
diff --git a/src/components/include/application_manager/policies/policy_handler_interface.h b/src/components/include/application_manager/policies/policy_handler_interface.h
index d7e9f1cea7..f0859ece38 100644
--- a/src/components/include/application_manager/policies/policy_handler_interface.h
+++ b/src/components/include/application_manager/policies/policy_handler_interface.h
@@ -427,6 +427,15 @@ class PolicyHandlerInterface {
virtual const PolicySettings& get_settings() const = 0;
virtual const std::string RemoteAppsUrl() const = 0;
+ /**
+ * @brief OnDeviceSwitching Notifies policy manager on device switch event so
+ * policy permissions should be processed accordingly
+ * @param device_id_from Id of device being switched
+ * @param device_id_to Id of device on the new transport
+ */
+ virtual void OnDeviceSwitching(const std::string& device_id_from,
+ const std::string& device_id_to) = 0;
+
#ifdef SDL_REMOTE_CONTROL
/**
* @brief Sets HMI default type for specified application