diff options
author | JackLivio <jack@livio.io> | 2018-10-19 15:05:09 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-19 15:05:09 -0400 |
commit | d36316738785c96dab2ee892762ed08c059fffde (patch) | |
tree | 168a7c0705b5bc8f0dee7ce4b511ccf71759d9b4 /src/components/application_manager/include/application_manager/application.h | |
parent | 7f7fcbb998fb17f2954fd103349af67ea9b71a3f (diff) | |
parent | 83c5e805346d55ec7fb9f4ba8b6f6855d992273e (diff) | |
download | sdl_core-hotfix/templates_updates.tar.gz |
Merge pull request #2572 from smartdevicelink/release/5.0.05.0.0hotfix/templates_updatesfeature/show_app_menufeature/progress_bar_seekfeature/open-menu-rpcfeature/open-menu-rfeature/button
Release 5.0.0
Diffstat (limited to 'src/components/application_manager/include/application_manager/application.h')
-rw-r--r-- | src/components/application_manager/include/application_manager/application.h | 127 |
1 files changed, 95 insertions, 32 deletions
diff --git a/src/components/application_manager/include/application_manager/application.h b/src/components/application_manager/include/application_manager/application.h index 0c93f7447b..ad7570955e 100644 --- a/src/components/application_manager/include/application_manager/application.h +++ b/src/components/application_manager/include/application_manager/application.h @@ -38,7 +38,8 @@ #include <set> #include <list> #include <vector> -#include "utils/shared_ptr.h" +#include <memory> + #include "utils/data_accessor.h" #include "interfaces/MOBILE_API.h" #include "connection_handler/device.h" @@ -46,9 +47,11 @@ #include "application_manager/message.h" #include "application_manager/hmi_state.h" #include "application_manager/application_state.h" +#include "application_manager/help_prompt_manager.h" #include "protocol_handler/protocol_handler.h" #include "smart_objects/smart_object.h" #include "utils/macro.h" +#include "utils/semantic_version.h" namespace application_manager { @@ -113,6 +116,7 @@ class InitialApplicationData { virtual const smart_objects::SmartObject* ngn_media_screen_name() const = 0; virtual const mobile_api::Language::eType& language() const = 0; virtual const mobile_api::Language::eType& ui_language() const = 0; + virtual const utils::SemanticVersion& msg_version() const = 0; virtual void set_app_types(const smart_objects::SmartObject& app_types) = 0; virtual void set_vr_synonyms( const smart_objects::SmartObject& vr_synonyms) = 0; @@ -123,6 +127,7 @@ class InitialApplicationData { virtual void set_language(const mobile_api::Language::eType& language) = 0; virtual void set_ui_language( const mobile_api::Language::eType& ui_language) = 0; + virtual void set_msg_version(const utils::SemanticVersion& version) = 0; }; /* @@ -160,11 +165,6 @@ typedef std::map<uint32_t, PerformChoice> PerformChoiceSetMap; typedef std::set<uint32_t> SoftButtonID; /** - * @brief Defines set of vehicle info types - */ -typedef std::set<mobile_apis::VehicleDataType::eType> VehicleInfoSubscriptions; - -/** * @brief Defines set of buttons subscription */ typedef std::set<mobile_apis::ButtonName::eType> ButtonSubscriptions; @@ -185,10 +185,12 @@ class DynamicApplicationData { virtual const smart_objects::SmartObject* show_command() const = 0; virtual const smart_objects::SmartObject* tbt_show_command() const = 0; virtual DataAccessor<ButtonSubscriptions> SubscribedButtons() const = 0; - virtual DataAccessor<VehicleInfoSubscriptions> SubscribedIVI() const = 0; virtual const smart_objects::SmartObject* keyboard_props() const = 0; virtual const smart_objects::SmartObject* menu_title() const = 0; virtual const smart_objects::SmartObject* menu_icon() const = 0; + virtual const smart_objects::SmartObject* day_color_scheme() const = 0; + virtual const smart_objects::SmartObject* night_color_scheme() const = 0; + virtual const std::string& display_layout() const = 0; virtual void load_global_properties(const smart_objects::SmartObject& so) = 0; virtual void set_help_prompt( @@ -220,6 +222,12 @@ class DynamicApplicationData { virtual void set_video_stream_retry_number( const uint32_t& video_stream_retry_number) = 0; + virtual void set_day_color_scheme( + const smart_objects::SmartObject& color_scheme) = 0; + virtual void set_night_color_scheme( + const smart_objects::SmartObject& color_scheme) = 0; + + virtual void set_display_layout(const std::string& layout) = 0; /** * @brief Checks if application is media, voice communication or navigation * @return true if application is media, voice communication or navigation, @@ -448,6 +456,20 @@ class Application : public virtual InitialApplicationData, virtual bool is_navi() const = 0; virtual void set_is_navi(bool allow) = 0; + /** + * @brief Returns is_remote_control_supported_ + * @return true if app supports remote control, else false + */ + virtual bool is_remote_control_supported() const = 0; + + /** + * @brief Sets remote control supported, + * which is used to determine app with remote control + * @param allow, if true - remote control is supported, + * else remote control is disable + */ + virtual void set_remote_control_supported(const bool allow) = 0; + virtual void set_mobile_projection_enabled(bool option) = 0; virtual bool mobile_projection_enabled() const = 0; @@ -530,8 +552,16 @@ class Application : public virtual InitialApplicationData, virtual const mobile_api::SystemContext::eType system_context() const = 0; virtual const mobile_api::AudioStreamingState::eType audio_streaming_state() const = 0; + virtual const mobile_api::VideoStreamingState::eType video_streaming_state() + const = 0; virtual const std::string& app_icon_path() const = 0; virtual connection_handler::DeviceHandle device() const = 0; + /** + * @brief Returns handle of the device on which secondary transport of this + * app is running + * @return handle of the device on which secondary transport is running + */ + virtual connection_handler::DeviceHandle secondary_device() const = 0; /** * @brief sets true if application has sent TTS GlobalProperties @@ -559,6 +589,18 @@ class Application : public virtual InitialApplicationData, * @return flag tts_properties_in_full */ virtual bool tts_properties_in_full() = 0; + /** + * @brief sets true if application should keep it's HMI Level after an audio + * source change + * @param value of keep context + */ + virtual void set_keep_context(bool keep_context) = 0; + /** + * @brief returns true if application should keep keep it's HMI Level after + * an audio source change, otherwise return false + * @return value of keep_context flag + */ + virtual bool keep_context() = 0; virtual void set_version(const Version& version) = 0; virtual void set_name(const custom_str::CustomString& name) = 0; virtual void set_is_media_application(bool is_media) = 0; @@ -567,8 +609,13 @@ class Application : public virtual InitialApplicationData, virtual void increment_list_files_in_none_count() = 0; virtual bool set_app_icon_path(const std::string& file_name) = 0; virtual void set_app_allowed(const bool allowed) = 0; - DEPRECATED virtual void set_device( - connection_handler::DeviceHandle device) = 0; + /** + * @brief Sets the handle of the device on which secondary transport of this + * app is running + * @param handle of the device on which secondary transport is running + */ + virtual void set_secondary_device( + connection_handler::DeviceHandle secondary_device) = 0; virtual uint32_t get_grammar_id() const = 0; virtual void set_grammar_id(uint32_t value) = 0; @@ -579,6 +626,24 @@ class Application : public virtual InitialApplicationData, virtual void set_is_resuming(bool is_resuming) = 0; virtual bool is_resuming() const = 0; + /** + * @brief Remembers the HMI level which the app would resume into if high- + * bandwidth transport were available. + * @param level The HMI level which the app would resume into. Specify + * INVALID_ENUM to clear the state. + */ + virtual void set_deferred_resumption_hmi_level( + mobile_api::HMILevel::eType level) = 0; + /** + * @brief Returns the HMI level which the app would resume into if high- + * bandwidth transport were available. + * + * A value of INVALID_ENUM indicates that the app does not have deferred + * HMI level. + * @return HMI level which the app would resume into + */ + virtual mobile_api::HMILevel::eType deferred_resumption_hmi_level() const = 0; + virtual bool AddFile(const AppFile& file) = 0; virtual const AppFilesMap& getAppFiles() const = 0; @@ -600,10 +665,6 @@ class Application : public virtual InitialApplicationData, virtual bool UnsubscribeFromButton( mobile_apis::ButtonName::eType btn_name) = 0; - virtual bool SubscribeToIVI(uint32_t vehicle_info_type) = 0; - virtual bool IsSubscribedToIVI(uint32_t vehicle_info_type) const = 0; - virtual bool UnsubscribeFromIVI(uint32_t vehicle_info_type) = 0; - /** * @brief ResetDataInNone reset data counters in NONE */ @@ -625,6 +686,12 @@ class Application : public virtual InitialApplicationData, virtual UsageStatistics& usage_report() = 0; /** + * @brief Access to HelpPromptManager interface + * @return object for Handling VR help + */ + virtual HelpPromptManager& help_prompt_manager() = 0; + + /** * @brief SetInitialState sets initial HMI state for application on * registration * @param state Hmi state value @@ -681,6 +748,12 @@ class Application : public virtual InitialApplicationData, virtual const HmiStatePtr RegularHmiState() const = 0; /** + * @brief Checks if app is allowed to change audio source + * @return True - if allowed, otherwise - False + */ + virtual bool IsAllowedToChangeAudioSource() const = 0; + + /** * @brief PostponedHmiState returns postponed hmi state of application * if it's present * @@ -721,14 +794,11 @@ class Application : public virtual InitialApplicationData, virtual bool IsAudioApplication() const = 0; /** - * DEPRECATED - * @brief GetDeviceId allows to obtain device id which posseses - * by this application. - * @return device the device id. + * @brief Check's if it is projection or navigation application + * + * @return true if application is projection or navigation */ - std::string GetDeviceId() const { - return device_id_; - } + virtual bool IsVideoApplication() const = 0; /** * @brief IsRegistered allows to distinguish if this @@ -829,7 +899,6 @@ class Application : public virtual InitialApplicationData, */ virtual void SwapMobileMessageQueue(MobileMessageQueue& mobile_messages) = 0; -#ifdef SDL_REMOTE_CONTROL /** * @brief set_system_context Set system context for application * @param system_context Current context @@ -872,16 +941,10 @@ class Application : public virtual InitialApplicationData, virtual bool RemoveExtension(AppExtensionUID uid) = 0; /** - * @brief Removes all extensions - */ - virtual void RemoveExtensions() = 0; - - /** - * @brief Get list of subscriptions to vehicle info notifications - * @return list of subscriptions to vehicle info notifications + * @brief Get list of available application extensions + * @return application extensions */ - virtual const VehicleInfoSubscriptions& SubscribesIVI() const = 0; -#endif // SDL_REMOTE_CONTROL + virtual const std::list<AppExtensionPtr>& Extensions() const = 0; protected: mutable sync_primitives::Lock hmi_states_lock_; @@ -895,8 +958,8 @@ class Application : public virtual InitialApplicationData, bool is_greyed_out_; }; -typedef utils::SharedPtr<Application> ApplicationSharedPtr; -typedef utils::SharedPtr<const Application> ApplicationConstSharedPtr; +typedef std::shared_ptr<Application> ApplicationSharedPtr; +typedef std::shared_ptr<const Application> ApplicationConstSharedPtr; typedef uint32_t ApplicationId; } // namespace application_manager |