summaryrefslogtreecommitdiff
path: root/src/components/application_manager/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/include')
-rw-r--r--src/components/application_manager/include/application_manager/application.h3
-rw-r--r--src/components/application_manager/include/application_manager/application_impl.h4
-rw-r--r--src/components/application_manager/include/application_manager/application_manager_impl.h2
-rw-r--r--src/components/application_manager/include/application_manager/commands/command.h2
-rw-r--r--src/components/application_manager/include/application_manager/commands/command_impl.h2
-rw-r--r--src/components/application_manager/include/application_manager/help_prompt_manager.h18
-rw-r--r--src/components/application_manager/include/application_manager/help_prompt_manager_impl.h28
-rw-r--r--src/components/application_manager/include/application_manager/hmi_state.h37
-rw-r--r--src/components/application_manager/include/application_manager/message_helper.h3
-rw-r--r--src/components/application_manager/include/application_manager/resumption/resumption_data.h2
-rw-r--r--src/components/application_manager/include/application_manager/resumption/resumption_data_db.h4
-rw-r--r--src/components/application_manager/include/application_manager/resumption/resumption_data_json.h2
-rw-r--r--src/components/application_manager/include/application_manager/resumption/resumption_data_processor_impl.h3
-rw-r--r--src/components/application_manager/include/application_manager/state_controller_impl.h7
14 files changed, 73 insertions, 44 deletions
diff --git a/src/components/application_manager/include/application_manager/application.h b/src/components/application_manager/include/application_manager/application.h
index e018c28c54..d37a211044 100644
--- a/src/components/application_manager/include/application_manager/application.h
+++ b/src/components/application_manager/include/application_manager/application.h
@@ -1181,7 +1181,8 @@ class Application : public virtual InitialApplicationData,
* @brief Get list of available application extensions
* @return application extensions
*/
- virtual const std::list<AppExtensionPtr>& Extensions() const = 0;
+ virtual const DataAccessor<std::list<AppExtensionPtr> > Extensions()
+ const = 0;
/**
* @brief Get cloud app endpoint for websocket connection
diff --git a/src/components/application_manager/include/application_manager/application_impl.h b/src/components/application_manager/include/application_manager/application_impl.h
index 49f44acacb..1746893be3 100644
--- a/src/components/application_manager/include/application_manager/application_impl.h
+++ b/src/components/application_manager/include/application_manager/application_impl.h
@@ -555,7 +555,7 @@ class ApplicationImpl : public virtual Application,
*/
bool RemoveExtension(AppExtensionUID uid) OVERRIDE;
- const std::list<AppExtensionPtr>& Extensions() const OVERRIDE;
+ const DataAccessor<std::list<AppExtensionPtr> > Extensions() const OVERRIDE;
std::string hash_val_;
uint32_t grammar_id_;
@@ -617,6 +617,7 @@ class ApplicationImpl : public virtual Application,
Timer audio_stream_suspend_timer_;
std::list<AppExtensionPtr> extensions_;
+ mutable std::shared_ptr<sync_primitives::RecursiveLock> extensions_lock_;
// Cloud app properties
std::string endpoint_;
@@ -644,7 +645,6 @@ class ApplicationImpl : public virtual Application,
CommandSoftButtonID cmd_softbuttonid_;
// Lock for command soft button id
sync_primitives::Lock cmd_softbuttonid_lock_;
- mutable std::shared_ptr<sync_primitives::Lock> vi_lock_ptr_;
mutable std::shared_ptr<sync_primitives::Lock> button_lock_ptr_;
std::string folder_name_;
ApplicationManager& application_manager_;
diff --git a/src/components/application_manager/include/application_manager/application_manager_impl.h b/src/components/application_manager/include/application_manager/application_manager_impl.h
index d72508bd63..0770cba4b1 100644
--- a/src/components/application_manager/include/application_manager/application_manager_impl.h
+++ b/src/components/application_manager/include/application_manager/application_manager_impl.h
@@ -1023,8 +1023,6 @@ class ApplicationManagerImpl
rpc_service_ = std::move(rpc_service);
}
- bool is_stopping() const OVERRIDE;
-
bool is_audio_pass_thru_active() const OVERRIDE;
/*
* @brief Function Should be called when Low Voltage is occured
diff --git a/src/components/application_manager/include/application_manager/commands/command.h b/src/components/application_manager/include/application_manager/commands/command.h
index f8bc66df2a..1283db0edc 100644
--- a/src/components/application_manager/include/application_manager/commands/command.h
+++ b/src/components/application_manager/include/application_manager/commands/command.h
@@ -137,6 +137,8 @@ class Command {
*/
virtual void SetAllowedToTerminate(const bool allowed) = 0;
+ virtual const ApplicationManager& GetApplicationManager() const = 0;
+
enum CommandSource {
SOURCE_SDL,
SOURCE_MOBILE,
diff --git a/src/components/application_manager/include/application_manager/commands/command_impl.h b/src/components/application_manager/include/application_manager/commands/command_impl.h
index 534f07aa37..0438ffe682 100644
--- a/src/components/application_manager/include/application_manager/commands/command_impl.h
+++ b/src/components/application_manager/include/application_manager/commands/command_impl.h
@@ -182,6 +182,8 @@ class CommandImpl : public Command {
*/
void SetAllowedToTerminate(const bool allowed) OVERRIDE;
+ const ApplicationManager& GetApplicationManager() const OVERRIDE;
+
void OnUpdateTimeOut() OVERRIDE;
/**
diff --git a/src/components/application_manager/include/application_manager/help_prompt_manager.h b/src/components/application_manager/include/application_manager/help_prompt_manager.h
index eb45705d9f..d5820169c0 100644
--- a/src/components/application_manager/include/application_manager/help_prompt_manager.h
+++ b/src/components/application_manager/include/application_manager/help_prompt_manager.h
@@ -80,6 +80,14 @@ class HelpPromptManager {
const smart_objects::SmartObject& msg, const bool is_response) = 0;
/**
+ * @brief Triggered when ResetGlobalProperties request is received from an
+ * application. Reset sending_type_ based on which global properties are reset
+ * @param msg containing GlobalProperties
+ */
+ virtual void OnResetGlobalPropertiesReceived(
+ const smart_objects::SmartObject& msg) = 0;
+
+ /**
* @brief Requests sending type behavior
*/
enum class SendingType { kNoneSend, kSendHelpPrompt, kSendVRHelp, kSendBoth };
@@ -89,6 +97,16 @@ class HelpPromptManager {
* @return current sending type
*/
virtual SendingType GetSendingType() const = 0;
+
+ /**
+ * @brief Construct the helpPrompt parameter
+ */
+ virtual void CreatePromptMsg(smart_objects::SmartObject& out_msg_params) = 0;
+
+ /**
+ * @brief Construct the vrHelp parameter
+ */
+ virtual void CreateVRMsg(smart_objects::SmartObject& out_msg_params) = 0;
};
} // namespace application_manager
diff --git a/src/components/application_manager/include/application_manager/help_prompt_manager_impl.h b/src/components/application_manager/include/application_manager/help_prompt_manager_impl.h
index 3cd22a6afc..9094524c7d 100644
--- a/src/components/application_manager/include/application_manager/help_prompt_manager_impl.h
+++ b/src/components/application_manager/include/application_manager/help_prompt_manager_impl.h
@@ -104,11 +104,29 @@ class HelpPromptManagerImpl : public HelpPromptManager {
const bool is_response) OVERRIDE;
/**
+ * @brief Triggered when ResetGlobalProperties request is received from an
+ * application. Reset sending_type_ based on which global properties are reset
+ * @param msg containing GlobalProperties
+ */
+ void OnResetGlobalPropertiesReceived(
+ const smart_objects::SmartObject& msg) OVERRIDE;
+
+ /**
* @brief Get current sending type
* @return current sending type
*/
SendingType GetSendingType() const OVERRIDE;
+ /**
+ * @brief Construct the helpPrompt parameter
+ */
+ void CreatePromptMsg(smart_objects::SmartObject& out_msg_params);
+
+ /**
+ * @brief Construct the vrHelp parameter
+ */
+ void CreateVRMsg(smart_objects::SmartObject& out_msg_params);
+
private:
DISALLOW_COPY_AND_ASSIGN(HelpPromptManagerImpl);
@@ -150,16 +168,6 @@ class HelpPromptManagerImpl : public HelpPromptManager {
void SendRequests();
/**
- * @brief Construct the helpPrompt parameter
- */
- void CreatePromptMsg(smart_objects::SmartObject& out_msg_params);
-
- /**
- * @brief Construct the vrHelp parameter
- */
- void CreateVRMsg(smart_objects::SmartObject& out_msg_params);
-
- /**
* @brief Setting request type to send HMI
* @param msg containing request or response for the
* SetGlobalPropertiesRequest
diff --git a/src/components/application_manager/include/application_manager/hmi_state.h b/src/components/application_manager/include/application_manager/hmi_state.h
index 8271edcbd8..745c135bde 100644
--- a/src/components/application_manager/include/application_manager/hmi_state.h
+++ b/src/components/application_manager/include/application_manager/hmi_state.h
@@ -37,6 +37,7 @@
#include <list>
#include <memory>
#include "interfaces/MOBILE_API.h"
+#include "utils/atomic_object.h"
#include "utils/macro.h"
namespace application_manager {
@@ -116,13 +117,13 @@ class HmiState {
* @return return hmi level member
*/
virtual mobile_apis::HMILevel::eType hmi_level() const {
- if (parent_) {
+ if (parent()) {
if (mobile_apis::HMILevel::INVALID_ENUM == hmi_level_) {
- return parent_->hmi_level();
+ return parent()->hmi_level();
}
// Higher values correlate to lower states
// (FULL = 0, LIMITED = 1, etc.)
- return std::max(parent_->max_hmi_level(), hmi_level_);
+ return std::max(parent()->max_hmi_level(), hmi_level_);
}
return hmi_level_;
}
@@ -132,8 +133,8 @@ class HmiState {
* @return return maximum hmi level for app
*/
virtual mobile_apis::HMILevel::eType max_hmi_level() const {
- if (parent_) {
- return parent_->max_hmi_level();
+ if (parent()) {
+ return parent()->max_hmi_level();
}
return mobile_apis::HMILevel::HMI_FULL;
}
@@ -152,14 +153,14 @@ class HmiState {
*/
virtual mobile_apis::AudioStreamingState::eType audio_streaming_state()
const {
- if (parent_) {
+ if (parent()) {
if (mobile_apis::AudioStreamingState::INVALID_ENUM ==
audio_streaming_state_) {
- return parent_->audio_streaming_state();
+ return parent()->audio_streaming_state();
}
// Higher values correlate to lower states
// (AUDIBLE = 0, ATTENUATED = 1, etc.)
- return std::max(parent_->max_audio_streaming_state(),
+ return std::max(parent()->max_audio_streaming_state(),
audio_streaming_state_);
}
return audio_streaming_state_;
@@ -171,8 +172,8 @@ class HmiState {
*/
virtual mobile_apis::AudioStreamingState::eType max_audio_streaming_state()
const {
- if (parent_) {
- return parent_->max_audio_streaming_state();
+ if (parent()) {
+ return parent()->max_audio_streaming_state();
}
return mobile_apis::AudioStreamingState::AUDIBLE;
}
@@ -183,14 +184,14 @@ class HmiState {
*/
virtual mobile_apis::VideoStreamingState::eType video_streaming_state()
const {
- if (parent_) {
+ if (parent()) {
if (mobile_apis::VideoStreamingState::INVALID_ENUM ==
video_streaming_state_) {
- return parent_->video_streaming_state();
+ return parent()->video_streaming_state();
}
// Higher values correlate to lower states
// (STREAMABLE = 0, NOT_STREAMABLE = 1)
- return std::max(parent_->max_video_streaming_state(),
+ return std::max(parent()->max_video_streaming_state(),
video_streaming_state_);
}
return video_streaming_state_;
@@ -202,8 +203,8 @@ class HmiState {
*/
virtual mobile_apis::VideoStreamingState::eType max_video_streaming_state()
const {
- if (parent_) {
- return parent_->max_video_streaming_state();
+ if (parent()) {
+ return parent()->max_video_streaming_state();
}
return mobile_apis::VideoStreamingState::STREAMABLE;
}
@@ -232,9 +233,9 @@ class HmiState {
*/
virtual mobile_apis::SystemContext::eType system_context() const {
// Parent's context should be used if not available for current state
- if (parent_ &&
+ if (parent() &&
system_context_ == mobile_apis::SystemContext::INVALID_ENUM) {
- return parent_->system_context();
+ return parent()->system_context();
}
return system_context_;
}
@@ -280,7 +281,7 @@ class HmiState {
uint32_t hmi_app_id_;
StateID state_id_;
const ApplicationManager& app_mngr_;
- HmiStatePtr parent_;
+ sync_primitives::Atomic<HmiStatePtr> parent_;
mobile_apis::WindowType::eType window_type_;
mobile_apis::HMILevel::eType hmi_level_;
mobile_apis::AudioStreamingState::eType audio_streaming_state_;
diff --git a/src/components/application_manager/include/application_manager/message_helper.h b/src/components/application_manager/include/application_manager/message_helper.h
index 9cfb504b00..dc7e0b6b1f 100644
--- a/src/components/application_manager/include/application_manager/message_helper.h
+++ b/src/components/application_manager/include/application_manager/message_helper.h
@@ -321,9 +321,6 @@ class MessageHelper {
static smart_objects::SmartObjectList CreateGlobalPropertiesRequestsToHMI(
ApplicationConstSharedPtr app, ApplicationManager& app_mngr);
- static smart_objects::SmartObjectSPtr CreateAppVrHelp(
- ApplicationConstSharedPtr app);
-
static smart_objects::SmartObjectList CreateShowRequestToHMI(
ApplicationConstSharedPtr app, const uint32_t correlation_id);
static void SendShowRequestToHMI(ApplicationConstSharedPtr app,
diff --git a/src/components/application_manager/include/application_manager/resumption/resumption_data.h b/src/components/application_manager/include/application_manager/resumption/resumption_data.h
index ee9972b98c..39b751bb4b 100644
--- a/src/components/application_manager/include/application_manager/resumption/resumption_data.h
+++ b/src/components/application_manager/include/application_manager/resumption/resumption_data.h
@@ -157,7 +157,7 @@ class ResumptionData {
* @brief Get the last ignition off time from LastState
* @return the last ignition off time from LastState
*/
- virtual uint32_t GetIgnOffTime() const = 0;
+ virtual int64_t GetIgnOffTime() const = 0;
/**
* @brief Checks if saved data have application
diff --git a/src/components/application_manager/include/application_manager/resumption/resumption_data_db.h b/src/components/application_manager/include/application_manager/resumption/resumption_data_db.h
index a4614d4f2c..768d34094b 100644
--- a/src/components/application_manager/include/application_manager/resumption/resumption_data_db.h
+++ b/src/components/application_manager/include/application_manager/resumption/resumption_data_db.h
@@ -167,7 +167,7 @@ class ResumptionDataDB : public ResumptionData {
* @brief Get the last ignition off time from LastState
* @return the last ignition off time from LastState
*/
- virtual uint32_t GetIgnOffTime() const;
+ virtual int64_t GetIgnOffTime() const;
/**
* @brief Checks if saved data have application
@@ -289,7 +289,7 @@ class ResumptionDataDB : public ResumptionData {
* @brief Select Ign off time
* @return Ign off time from saved data
*/
- uint32_t SelectIgnOffTime() const;
+ int64_t SelectIgnOffTime() const;
/**
* @brief Checks existence application in DB
diff --git a/src/components/application_manager/include/application_manager/resumption/resumption_data_json.h b/src/components/application_manager/include/application_manager/resumption/resumption_data_json.h
index f33ef83a9b..a4f83fff44 100644
--- a/src/components/application_manager/include/application_manager/resumption/resumption_data_json.h
+++ b/src/components/application_manager/include/application_manager/resumption/resumption_data_json.h
@@ -131,7 +131,7 @@ class ResumptionDataJson : public ResumptionData {
* @brief Get the last ignition off time from LastState
* @return the last ignition off time from LastState
*/
- virtual uint32_t GetIgnOffTime() const;
+ virtual int64_t GetIgnOffTime() const;
void IncrementGlobalIgnOnCounter() OVERRIDE;
diff --git a/src/components/application_manager/include/application_manager/resumption/resumption_data_processor_impl.h b/src/components/application_manager/include/application_manager/resumption/resumption_data_processor_impl.h
index 312302d157..ffb9359f9c 100644
--- a/src/components/application_manager/include/application_manager/resumption/resumption_data_processor_impl.h
+++ b/src/components/application_manager/include/application_manager/resumption/resumption_data_processor_impl.h
@@ -129,8 +129,9 @@ class ResumptionDataProcessorImpl
* requests
* @param app_id ID of application, related to event
* @param found_request reference to found request
+ * @return true, if request is found and erased
*/
- void EraseProcessedRequest(const uint32_t app_id,
+ bool EraseProcessedRequest(const uint32_t app_id,
const ResumptionRequest& found_request);
/**
diff --git a/src/components/application_manager/include/application_manager/state_controller_impl.h b/src/components/application_manager/include/application_manager/state_controller_impl.h
index 6845851f97..e0200f55af 100644
--- a/src/components/application_manager/include/application_manager/state_controller_impl.h
+++ b/src/components/application_manager/include/application_manager/state_controller_impl.h
@@ -136,9 +136,10 @@ class StateControllerImpl : public event_engine::EventObserver,
PostponedActivationController& GetPostponedActivationController() OVERRIDE;
private:
- int64_t RequestHMIStateChange(ApplicationConstSharedPtr app,
- hmi_apis::Common_HMILevel::eType level,
- bool send_policy_priority);
+ void RequestHMIStateChange(ApplicationConstSharedPtr app,
+ HmiStatePtr resolved_state,
+ hmi_apis::Common_HMILevel::eType level,
+ bool send_policy_priority);
/**
* @brief The HmiLevelConflictResolver struct