diff options
author | Jacob Keeler <jacob.keeler@livioradio.com> | 2022-04-07 11:46:22 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-07 11:46:22 -0400 |
commit | 6b423eb0a2b01600d399cad18f789a7dfbcc83af (patch) | |
tree | bb3a88b2b132421f8c0c157c592e617af99b55fd /src/components/application_manager/include/application_manager/application.h | |
parent | 7cdb7e722f677717527af625b5874c6a7f32b53f (diff) | |
download | sdl_core-6b423eb0a2b01600d399cad18f789a7dfbcc83af.tar.gz |
Fix potential crashes by using shared pointers for app data (#3900)8.1-RC2release/8.1.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 | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/src/components/application_manager/include/application_manager/application.h b/src/components/application_manager/include/application_manager/application.h index 33fa1ae914..e018c28c54 100644 --- a/src/components/application_manager/include/application_manager/application.h +++ b/src/components/application_manager/include/application_manager/application.h @@ -113,14 +113,15 @@ class InitialApplicationData { public: virtual ~InitialApplicationData() {} - virtual const smart_objects::SmartObject* app_types() const = 0; - virtual const smart_objects::SmartObject* vr_synonyms() const = 0; + virtual const smart_objects::SmartObjectSPtr app_types() const = 0; + virtual const smart_objects::SmartObjectSPtr vr_synonyms() const = 0; virtual const std::string& mac_address() const = 0; virtual const std::string& bundle_id() const = 0; virtual void set_bundle_id(const std::string& bundle_id) = 0; virtual std::string policy_app_id() const = 0; - virtual const smart_objects::SmartObject* tts_name() const = 0; - virtual const smart_objects::SmartObject* ngn_media_screen_name() const = 0; + virtual const smart_objects::SmartObjectSPtr tts_name() const = 0; + virtual const smart_objects::SmartObjectSPtr 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; @@ -195,18 +196,18 @@ typedef std::vector<smart_objects::SmartObjectSPtr> MobileMessageQueue; class DynamicApplicationData { public: virtual ~DynamicApplicationData() {} - virtual const smart_objects::SmartObject* help_prompt() const = 0; - virtual const smart_objects::SmartObject* timeout_prompt() const = 0; - virtual const smart_objects::SmartObject* vr_help_title() const = 0; - virtual const smart_objects::SmartObject* vr_help() const = 0; + virtual const smart_objects::SmartObjectSPtr help_prompt() const = 0; + virtual const smart_objects::SmartObjectSPtr timeout_prompt() const = 0; + virtual const smart_objects::SmartObjectSPtr vr_help_title() const = 0; + virtual const smart_objects::SmartObjectSPtr vr_help() const = 0; virtual const mobile_api::TBTState::eType& tbt_state() const = 0; - virtual const smart_objects::SmartObject* show_command() const = 0; - virtual const smart_objects::SmartObject* tbt_show_command() const = 0; + virtual const smart_objects::SmartObjectSPtr show_command() const = 0; + virtual const smart_objects::SmartObjectSPtr tbt_show_command() const = 0; virtual DataAccessor<ButtonSubscriptions> SubscribedButtons() 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* menu_layout() const = 0; + virtual const smart_objects::SmartObjectSPtr keyboard_props() const = 0; + virtual const smart_objects::SmartObjectSPtr menu_title() const = 0; + virtual const smart_objects::SmartObjectSPtr menu_icon() const = 0; + virtual const smart_objects::SmartObjectSPtr menu_layout() const = 0; virtual smart_objects::SmartObject day_color_scheme() const = 0; virtual smart_objects::SmartObject night_color_scheme() const = 0; virtual std::string display_layout() const = 0; @@ -558,8 +559,10 @@ class Application : public virtual InitialApplicationData, * @brief Returns message belonging to the application * that is currently executed (i.e. on HMI). * @return smart_objects::SmartObject * Active message + * @deprecated will always return NULL */ - virtual const smart_objects::SmartObject* active_message() const = 0; + DEPRECATED virtual const smart_objects::SmartObject* active_message() + const = 0; /** * @brief returns current hash value @@ -615,7 +618,8 @@ class Application : public virtual InitialApplicationData, */ virtual void set_app_data_resumption_allowance(const bool allowed) = 0; - virtual void CloseActiveMessage() = 0; + // Deprecated, has no effect + DEPRECATED virtual void CloseActiveMessage() = 0; virtual bool IsFullscreen() const = 0; virtual void ChangeSupportingAppHMIType() = 0; |