summaryrefslogtreecommitdiff
path: root/src/components/include/application_manager
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2018-02-02 17:30:25 -0500
committerGitHub <noreply@github.com>2018-02-02 17:30:25 -0500
commit14d1e87aa0e5b48bb2263a2b6899c474df9c185c (patch)
treed7ae8950ef85a9f95087fe29d8032471ae6e59c4 /src/components/include/application_manager
parent21dfde7e8b8e81055d74f9b15db7c19d2e5075ee (diff)
parentf628d402af6711ac6eb6c06887bba8b6cf82594a (diff)
downloadsdl_core-hotfix/dynamically_link_libraries.tar.gz
Merge branch 'develop' into hotfix/dynamically_link_librarieshotfix/dynamically_link_libraries
Diffstat (limited to 'src/components/include/application_manager')
-rw-r--r--src/components/include/application_manager/application_manager.h72
-rw-r--r--src/components/include/application_manager/policies/policy_handler_interface.h9
-rw-r--r--src/components/include/application_manager/vehicle_info_data.h71
3 files changed, 77 insertions, 75 deletions
diff --git a/src/components/include/application_manager/application_manager.h b/src/components/include/application_manager/application_manager.h
index c1a37a24f1..96803e69a8 100644
--- a/src/components/include/application_manager/application_manager.h
+++ b/src/components/include/application_manager/application_manager.h
@@ -36,7 +36,6 @@
#include <string>
#include <vector>
#include <set>
-#include "application_manager/vehicle_info_data.h"
#include "application_manager/application.h"
#include "application_manager/hmi_capabilities.h"
#include "application_manager/commands/command.h"
@@ -255,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
@@ -263,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
*/
@@ -314,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;
/**
@@ -335,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;
@@ -374,8 +414,8 @@ class ApplicationManager {
* @param vehicle_info Enum value of type of vehicle data
* @param new value (for integer values currently) of vehicle data
*/
- virtual AppSharedPtrs IviInfoUpdated(VehicleDataType vehicle_info,
- int value) = 0;
+ virtual AppSharedPtrs IviInfoUpdated(
+ mobile_apis::VehicleDataType::eType vehicle_info, int value) = 0;
virtual ApplicationSharedPtr RegisterApplication(const utils::SharedPtr<
smart_objects::SmartObject>& request_for_registration) = 0;
@@ -535,6 +575,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 +644,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
diff --git a/src/components/include/application_manager/vehicle_info_data.h b/src/components/include/application_manager/vehicle_info_data.h
deleted file mode 100644
index 693353abfe..0000000000
--- a/src/components/include/application_manager/vehicle_info_data.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- Copyright (c) 2013, Ford Motor Company
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
- Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following
- disclaimer in the documentation and/or other materials provided with the
- distribution.
-
- Neither the name of the Ford Motor Company nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef SRC_COMPONENTS_INCLUDE_APPLICATION_MANAGER_VEHICLE_INFO_DATA_H_
-#define SRC_COMPONENTS_INCLUDE_APPLICATION_MANAGER_VEHICLE_INFO_DATA_H_
-
-namespace application_manager {
-/*
-*@brief Typedef for the vehicle data types that can
-*be published and subscribed to
-*/
-enum VehicleDataType {
- GPS = 0,
- SPEED,
- RPM,
- FUELLEVEL,
- FUELLEVEL_STATE,
- FUELCONSUMPTION,
- EXTERNTEMP,
- VIN,
- PRNDL,
- TIREPRESSURE,
- ODOMETER,
- BELTSTATUS,
- BODYINFO,
- DEVICESTATUS,
- ECALLINFO,
- AIRBAGSTATUS,
- EMERGENCYEVENT,
- CLUSTERMODESTATUS,
- MYKEY,
- BRAKING,
- WIPERSTATUS,
- HEADLAMPSTATUS,
- BATTVOLTAGE,
- ENGINETORQUE,
- ACCPEDAL,
- STEERINGWHEEL
-};
-} // namespace application_manager
-
-#endif // SRC_COMPONENTS_INCLUDE_APPLICATION_MANAGER_VEHICLE_INFO_DATA_H_