diff options
Diffstat (limited to 'src/components/application_manager/src/application_data_impl.cc')
-rw-r--r-- | src/components/application_manager/src/application_data_impl.cc | 92 |
1 files changed, 77 insertions, 15 deletions
diff --git a/src/components/application_manager/src/application_data_impl.cc b/src/components/application_manager/src/application_data_impl.cc index a81540708c..0636748977 100644 --- a/src/components/application_manager/src/application_data_impl.cc +++ b/src/components/application_manager/src/application_data_impl.cc @@ -44,6 +44,7 @@ InitialApplicationDataImpl::InitialApplicationDataImpl() , vr_synonyms_(NULL) , tts_name_(NULL) , ngn_media_screen_name_(NULL) + , language_(mobile_api::Language::INVALID_ENUM) , ui_language_(mobile_api::Language::INVALID_ENUM) {} @@ -102,6 +103,10 @@ const mobile_api::Language::eType& InitialApplicationDataImpl::ui_language() return ui_language_; } +const utils::SemanticVersion& InitialApplicationDataImpl::msg_version() const { + return msg_version_; +} + void InitialApplicationDataImpl::set_app_types( const smart_objects::SmartObject& app_types) { if (app_types_) { @@ -152,6 +157,11 @@ void InitialApplicationDataImpl::set_ui_language( ui_language_ = ui_language; } +void InitialApplicationDataImpl::set_msg_version( + const utils::SemanticVersion& version) { + msg_version_ = version; +} + void InitialApplicationDataImpl::set_perform_interaction_layout( mobile_apis::LayoutMode::eType layout) { perform_interaction_layout_ = layout; @@ -173,12 +183,18 @@ DynamicApplicationDataImpl::DynamicApplicationDataImpl() , menu_title_(NULL) , menu_icon_(NULL) , tbt_show_command_(NULL) + , day_color_scheme_(NULL) + , night_color_scheme_(NULL) + , display_layout_("") , commands_() - , commands_lock_(true) + , commands_lock_ptr_(std::make_shared<sync_primitives::RecursiveLock>()) , sub_menu_() + , sub_menu_lock_ptr_(std::make_shared<sync_primitives::Lock>()) , choice_set_map_() + , choice_set_map_lock_ptr_(std::make_shared<sync_primitives::Lock>()) , performinteraction_choice_set_map_() - , performinteraction_choice_set_lock_(true) + , performinteraction_choice_set_lock_ptr_( + std::make_shared<sync_primitives::RecursiveLock>()) , is_perform_interaction_active_(false) , is_reset_global_properties_active_(false) , perform_interaction_mode_(-1) {} @@ -214,6 +230,16 @@ DynamicApplicationDataImpl::~DynamicApplicationDataImpl() { tbt_show_command_ = NULL; } + if (day_color_scheme_) { + delete day_color_scheme_; + day_color_scheme_ = NULL; + } + + if (night_color_scheme_) { + delete night_color_scheme_; + night_color_scheme_ = NULL; + } + for (CommandsMap::iterator command_it = commands_.begin(); commands_.end() != command_it; ++command_it) { @@ -290,6 +316,20 @@ const smart_objects::SmartObject* DynamicApplicationDataImpl::menu_icon() return menu_icon_; } +const smart_objects::SmartObject* DynamicApplicationDataImpl::day_color_scheme() + const { + return day_color_scheme_; +} + +const smart_objects::SmartObject* +DynamicApplicationDataImpl::night_color_scheme() const { + return night_color_scheme_; +} + +const std::string& DynamicApplicationDataImpl::display_layout() const { + return display_layout_; +} + void DynamicApplicationDataImpl::load_global_properties( const smart_objects::SmartObject& properties_so) { SetGlobalProperties(properties_so.getElement(strings::vr_help_title), @@ -405,10 +445,32 @@ void DynamicApplicationDataImpl::set_menu_icon( menu_icon_ = new smart_objects::SmartObject(menu_icon); } +void DynamicApplicationDataImpl::set_day_color_scheme( + const smart_objects::SmartObject& color_scheme) { + if (day_color_scheme_) { + delete day_color_scheme_; + } + + day_color_scheme_ = new smart_objects::SmartObject(color_scheme); +} + +void DynamicApplicationDataImpl::set_night_color_scheme( + const smart_objects::SmartObject& color_scheme) { + if (night_color_scheme_) { + delete night_color_scheme_; + } + + night_color_scheme_ = new smart_objects::SmartObject(color_scheme); +} + +void DynamicApplicationDataImpl::set_display_layout(const std::string& layout) { + display_layout_ = layout; +} + void DynamicApplicationDataImpl::SetGlobalProperties( const smart_objects::SmartObject& param, void (DynamicApplicationData::*callback)( - const NsSmartDeviceLink::NsSmartObjects::SmartObject&)) { + const ns_smart_device_link::ns_smart_objects::SmartObject&)) { smart_objects::SmartType so_type = param.getType(); if (so_type != smart_objects::SmartType::SmartType_Invalid && so_type != smart_objects::SmartType::SmartType_Null) { @@ -422,7 +484,7 @@ void DynamicApplicationDataImpl::SetGlobalProperties( void DynamicApplicationDataImpl::AddCommand( uint32_t cmd_id, const smart_objects::SmartObject& command) { - sync_primitives::AutoLock lock(commands_lock_); + sync_primitives::AutoLock lock(commands_lock_ptr_); CommandsMap::const_iterator it = commands_.find(cmd_id); if (commands_.end() == it) { commands_[cmd_id] = new smart_objects::SmartObject(command); @@ -430,7 +492,7 @@ void DynamicApplicationDataImpl::AddCommand( } void DynamicApplicationDataImpl::RemoveCommand(uint32_t cmd_id) { - sync_primitives::AutoLock lock(commands_lock_); + sync_primitives::AutoLock lock(commands_lock_ptr_); CommandsMap::iterator it = commands_.find(cmd_id); if (commands_.end() != it) { delete it->second; @@ -440,7 +502,7 @@ void DynamicApplicationDataImpl::RemoveCommand(uint32_t cmd_id) { smart_objects::SmartObject* DynamicApplicationDataImpl::FindCommand( uint32_t cmd_id) { - sync_primitives::AutoLock lock(commands_lock_); + sync_primitives::AutoLock lock(commands_lock_ptr_); CommandsMap::const_iterator it = commands_.find(cmd_id); if (it != commands_.end()) { return it->second; @@ -452,7 +514,7 @@ smart_objects::SmartObject* DynamicApplicationDataImpl::FindCommand( // TODO(VS): Create common functions for processing collections void DynamicApplicationDataImpl::AddSubMenu( uint32_t menu_id, const smart_objects::SmartObject& menu) { - sync_primitives::AutoLock lock(sub_menu_lock_); + sync_primitives::AutoLock lock(sub_menu_lock_ptr_); SubMenuMap::const_iterator it = sub_menu_.find(menu_id); if (sub_menu_.end() == it) { sub_menu_[menu_id] = new smart_objects::SmartObject(menu); @@ -460,7 +522,7 @@ void DynamicApplicationDataImpl::AddSubMenu( } void DynamicApplicationDataImpl::RemoveSubMenu(uint32_t menu_id) { - sync_primitives::AutoLock lock(sub_menu_lock_); + sync_primitives::AutoLock lock(sub_menu_lock_ptr_); SubMenuMap::iterator it = sub_menu_.find(menu_id); if (sub_menu_.end() != it) { @@ -471,7 +533,7 @@ void DynamicApplicationDataImpl::RemoveSubMenu(uint32_t menu_id) { smart_objects::SmartObject* DynamicApplicationDataImpl::FindSubMenu( uint32_t menu_id) const { - sync_primitives::AutoLock lock(sub_menu_lock_); + sync_primitives::AutoLock lock(sub_menu_lock_ptr_); SubMenuMap::const_iterator it = sub_menu_.find(menu_id); if (it != sub_menu_.end()) { return it->second; @@ -482,7 +544,7 @@ smart_objects::SmartObject* DynamicApplicationDataImpl::FindSubMenu( bool DynamicApplicationDataImpl::IsSubMenuNameAlreadyExist( const std::string& name) { - sync_primitives::AutoLock lock(sub_menu_lock_); + sync_primitives::AutoLock lock(sub_menu_lock_ptr_); for (SubMenuMap::iterator it = sub_menu_.begin(); sub_menu_.end() != it; ++it) { smart_objects::SmartObject* menu = it->second; @@ -495,7 +557,7 @@ bool DynamicApplicationDataImpl::IsSubMenuNameAlreadyExist( void DynamicApplicationDataImpl::AddChoiceSet( uint32_t choice_set_id, const smart_objects::SmartObject& choice_set) { - sync_primitives::AutoLock lock(choice_set_map_lock_); + sync_primitives::AutoLock lock(choice_set_map_lock_ptr_); ChoiceSetMap::const_iterator it = choice_set_map_.find(choice_set_id); if (choice_set_map_.end() == it) { choice_set_map_[choice_set_id] = new smart_objects::SmartObject(choice_set); @@ -503,7 +565,7 @@ void DynamicApplicationDataImpl::AddChoiceSet( } void DynamicApplicationDataImpl::RemoveChoiceSet(uint32_t choice_set_id) { - sync_primitives::AutoLock lock(choice_set_map_lock_); + sync_primitives::AutoLock lock(choice_set_map_lock_ptr_); ChoiceSetMap::iterator it = choice_set_map_.find(choice_set_id); if (choice_set_map_.end() != it) { @@ -514,7 +576,7 @@ void DynamicApplicationDataImpl::RemoveChoiceSet(uint32_t choice_set_id) { smart_objects::SmartObject* DynamicApplicationDataImpl::FindChoiceSet( uint32_t choice_set_id) { - sync_primitives::AutoLock lock(choice_set_map_lock_); + sync_primitives::AutoLock lock(choice_set_map_lock_ptr_); ChoiceSetMap::const_iterator it = choice_set_map_.find(choice_set_id); if (it != choice_set_map_.end()) { return it->second; @@ -527,14 +589,14 @@ void DynamicApplicationDataImpl::AddPerformInteractionChoiceSet( uint32_t correlation_id, uint32_t choice_set_id, const smart_objects::SmartObject& vr_commands) { - sync_primitives::AutoLock lock(performinteraction_choice_set_lock_); + sync_primitives::AutoLock lock(performinteraction_choice_set_lock_ptr_); performinteraction_choice_set_map_[correlation_id].insert(std::make_pair( choice_set_id, new smart_objects::SmartObject(vr_commands))); } void DynamicApplicationDataImpl::DeletePerformInteractionChoiceSet( uint32_t correlation_id) { - sync_primitives::AutoLock lock(performinteraction_choice_set_lock_); + sync_primitives::AutoLock lock(performinteraction_choice_set_lock_ptr_); PerformChoice::iterator it = performinteraction_choice_set_map_[correlation_id].begin(); for (; performinteraction_choice_set_map_[correlation_id].end() != it; ++it) { |