diff options
author | LitvinenkoIra <ilytvynenko@luxoft.com> | 2020-03-05 18:30:09 +0200 |
---|---|---|
committer | LitvinenkoIra <ilytvynenko@luxoft.com> | 2020-03-05 18:30:09 +0200 |
commit | 0c0bbf4ce5a5ba4b95f71df8e8610bd929968e70 (patch) | |
tree | e2c23c5e53b210445935be058fae7aea8a12d266 | |
parent | 3a2dcddae1b064e0a1816b9431153cf7f2eea6ae (diff) | |
download | sdl_core-impl/persisting_hmi_capabilities.tar.gz |
fixup! Send requests to get capabilities from HMI in case any capability is missing in cacheimpl/persisting_hmi_capabilities
10 files changed, 55 insertions, 50 deletions
diff --git a/src/components/application_manager/include/application_manager/hmi_capabilities_impl.h b/src/components/application_manager/include/application_manager/hmi_capabilities_impl.h index 9b82f32490..a6e4329ea1 100644 --- a/src/components/application_manager/include/application_manager/hmi_capabilities_impl.h +++ b/src/components/application_manager/include/application_manager/hmi_capabilities_impl.h @@ -238,7 +238,7 @@ class HMICapabilitiesImpl : public HMICapabilities { bool DeleteCachedCapabilitiesFile() const OVERRIDE; - std::set<hmi_apis::FunctionID::eType> GetInterfacesFromDefault() + std::set<hmi_apis::FunctionID::eType> GetDefaultInitializedCapabilities() const OVERRIDE; protected: @@ -432,7 +432,7 @@ class HMICapabilitiesImpl : public HMICapabilities { ApplicationManager& app_mngr_; HMILanguageHandler hmi_language_handler_; - std::set<hmi_apis::FunctionID::eType> interfaces_from_default_; + std::set<hmi_apis::FunctionID::eType> default_initialized_capabilities_; DISALLOW_COPY_AND_ASSIGN(HMICapabilitiesImpl); }; diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/rc_is_ready_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/rc_is_ready_request.cc index 52d50066c8..5c7e68046f 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/rc_is_ready_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/rc_is_ready_request.cc @@ -98,10 +98,10 @@ void RCIsReadyRequest::onTimeOut() { } void RCIsReadyRequest::RequestCapabilities() { - // const auto interfaces_from_default = - // hmi_capabilities_.GetInterfacesFromDefault(); + // const auto default_initialized_capabilities = + // hmi_capabilities_.GetDefaultInitializedCapabilities(); - // if (helpers::in_range(interfaces_from_default, + // if (helpers::in_range(default_initialized_capabilities, // hmi_apis::FunctionID::RC_GetCapabilities)) { std::shared_ptr<smart_objects::SmartObject> get_capabilities( MessageHelper::CreateModuleInfoSO( diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/tts_is_ready_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/tts_is_ready_request.cc index 87f1076988..c2fae76b3f 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/tts_is_ready_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/tts_is_ready_request.cc @@ -95,10 +95,10 @@ void TTSIsReadyRequest::onTimeOut() { } void TTSIsReadyRequest::RequestCapabilities() { - const auto interfaces_from_default = - hmi_capabilities_.GetInterfacesFromDefault(); + const auto default_initialized_capabilities = + hmi_capabilities_.GetDefaultInitializedCapabilities(); - if (helpers::in_range(interfaces_from_default, + if (helpers::in_range(default_initialized_capabilities, hmi_apis::FunctionID::TTS_GetLanguage)) { std::shared_ptr<smart_objects::SmartObject> get_language( MessageHelper::CreateModuleInfoSO(hmi_apis::FunctionID::TTS_GetLanguage, @@ -108,7 +108,7 @@ void TTSIsReadyRequest::RequestCapabilities() { rpc_service_.ManageHMICommand(get_language); } - if (helpers::in_range(interfaces_from_default, + if (helpers::in_range(default_initialized_capabilities, hmi_apis::FunctionID::TTS_GetSupportedLanguages)) { std::shared_ptr<smart_objects::SmartObject> get_supported_languages( MessageHelper::CreateModuleInfoSO( @@ -117,7 +117,7 @@ void TTSIsReadyRequest::RequestCapabilities() { rpc_service_.ManageHMICommand(get_supported_languages); } - if (helpers::in_range(interfaces_from_default, + if (helpers::in_range(default_initialized_capabilities, hmi_apis::FunctionID::TTS_GetCapabilities)) { std::shared_ptr<smart_objects::SmartObject> get_capabilities( MessageHelper::CreateModuleInfoSO( diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/ui_is_ready_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/ui_is_ready_request.cc index 0bf6d4c702..d416fbe669 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/ui_is_ready_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/ui_is_ready_request.cc @@ -94,10 +94,10 @@ void UIIsReadyRequest::onTimeOut() { } void UIIsReadyRequest::RequestCapabilities() { - const auto interfaces_from_default = - hmi_capabilities_.GetInterfacesFromDefault(); + const auto default_initialized_capabilities = + hmi_capabilities_.GetDefaultInitializedCapabilities(); - if (helpers::in_range(interfaces_from_default, + if (helpers::in_range(default_initialized_capabilities, hmi_apis::FunctionID::UI_GetLanguage)) { std::shared_ptr<smart_objects::SmartObject> get_language( MessageHelper::CreateModuleInfoSO(hmi_apis::FunctionID::UI_GetLanguage, @@ -106,7 +106,7 @@ void UIIsReadyRequest::RequestCapabilities() { rpc_service_.ManageHMICommand(get_language); } - if (helpers::in_range(interfaces_from_default, + if (helpers::in_range(default_initialized_capabilities, hmi_apis::FunctionID::UI_GetSupportedLanguages)) { std::shared_ptr<smart_objects::SmartObject> get_supported_languages( MessageHelper::CreateModuleInfoSO( @@ -115,7 +115,7 @@ void UIIsReadyRequest::RequestCapabilities() { rpc_service_.ManageHMICommand(get_supported_languages); } - if (helpers::in_range(interfaces_from_default, + if (helpers::in_range(default_initialized_capabilities, hmi_apis::FunctionID::UI_GetCapabilities)) { std::shared_ptr<smart_objects::SmartObject> get_capabilities( MessageHelper::CreateModuleInfoSO( diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/vr_is_ready_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/vr_is_ready_request.cc index 02e5bc43dc..e7073cdd3e 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/vr_is_ready_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/vr_is_ready_request.cc @@ -94,10 +94,10 @@ void VRIsReadyRequest::onTimeOut() { } void VRIsReadyRequest::RequestCapabilities() { - const auto interfaces_from_default = - hmi_capabilities_.GetInterfacesFromDefault(); + const auto default_initialized_capabilities = + hmi_capabilities_.GetDefaultInitializedCapabilities(); - if (helpers::in_range(interfaces_from_default, + if (helpers::in_range(default_initialized_capabilities, hmi_apis::FunctionID::VR_GetLanguage)) { std::shared_ptr<smart_objects::SmartObject> get_language( MessageHelper::CreateModuleInfoSO(hmi_apis::FunctionID::VR_GetLanguage, @@ -107,7 +107,7 @@ void VRIsReadyRequest::RequestCapabilities() { rpc_service_.ManageHMICommand(get_language); } - if (helpers::in_range(interfaces_from_default, + if (helpers::in_range(default_initialized_capabilities, hmi_apis::FunctionID::VR_GetSupportedLanguages)) { std::shared_ptr<smart_objects::SmartObject> get_supported_languages( MessageHelper::CreateModuleInfoSO( @@ -116,7 +116,7 @@ void VRIsReadyRequest::RequestCapabilities() { rpc_service_.ManageHMICommand(get_supported_languages); } - if (helpers::in_range(interfaces_from_default, + if (helpers::in_range(default_initialized_capabilities, hmi_apis::FunctionID::VR_GetCapabilities)) { std::shared_ptr<smart_objects::SmartObject> get_capabilities( MessageHelper::CreateModuleInfoSO( diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/hmi/vi_is_ready_request.cc b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/hmi/vi_is_ready_request.cc index b61c5352e3..86c3559522 100644 --- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/hmi/vi_is_ready_request.cc +++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/hmi/vi_is_ready_request.cc @@ -98,10 +98,10 @@ void VIIsReadyRequest::onTimeOut() { } void VIIsReadyRequest::RequestCapabilities() { - const auto interfaces_from_default = - hmi_capabilities_.GetInterfacesFromDefault(); + const auto default_initialized_capabilities = + hmi_capabilities_.GetDefaultInitializedCapabilities(); - if (helpers::in_range(interfaces_from_default, + if (helpers::in_range(default_initialized_capabilities, hmi_apis::FunctionID::VehicleInfo_GetVehicleType)) { std::shared_ptr<smart_objects::SmartObject> get_type( MessageHelper::CreateModuleInfoSO( diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc index 343f47d311..280a3eeba4 100644 --- a/src/components/application_manager/src/application_manager_impl.cc +++ b/src/components/application_manager/src/application_manager_impl.cc @@ -872,10 +872,10 @@ void ApplicationManagerImpl::OnHMIStartedCooperation() { *this)); rpc_service_->ManageHMICommand(is_rc_ready); - const auto interfaces_from_default = - hmi_capabilities_->GetInterfacesFromDefault(); + const auto default_initialized_capabilities = + hmi_capabilities_->GetDefaultInitializedCapabilities(); - if (helpers::in_range(interfaces_from_default, + if (helpers::in_range(default_initialized_capabilities, hmi_apis::FunctionID::Buttons_GetCapabilities)) { std::shared_ptr<smart_objects::SmartObject> button_capabilities( MessageHelper::CreateModuleInfoSO( diff --git a/src/components/application_manager/src/hmi_capabilities_impl.cc b/src/components/application_manager/src/hmi_capabilities_impl.cc index 0eb0c3e537..f4a5a12d5e 100644 --- a/src/components/application_manager/src/hmi_capabilities_impl.cc +++ b/src/components/application_manager/src/hmi_capabilities_impl.cc @@ -984,13 +984,13 @@ struct JsonCapabilitiesGetter { Json::Value GetJsonMember( const char* member_name, hmi_apis::FunctionID::eType request_id, - std::set<hmi_apis::FunctionID::eType>& interfaces_from_default) { + std::set<hmi_apis::FunctionID::eType>& default_initialized_capabilities) { if (JsonIsMemberSafe(json_cache_node_, member_name)) { return GetCachedJsonMember(member_name); } if (JsonIsMemberSafe(json_default_node_, member_name)) { - interfaces_from_default.insert(request_id); + default_initialized_capabilities.insert(request_id); return GetMainJsonMember(member_name); } @@ -1082,7 +1082,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto ui_language_node = json_ui_getter.GetJsonMember(hmi_response::language, hmi_apis::FunctionID::UI_GetLanguage, - interfaces_from_default_); + default_initialized_capabilities_); if (!ui_language_node.isNull()) { const std::string lang = ui_language_node.asString(); @@ -1092,7 +1092,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto ui_languages_node = json_ui_getter.GetJsonMember( hmi_response::languages, hmi_apis::FunctionID::UI_GetSupportedLanguages, - interfaces_from_default_); + default_initialized_capabilities_); if (!ui_languages_node.isNull()) { smart_objects::SmartObject ui_languages_so( smart_objects::SmartType_Array); @@ -1104,7 +1104,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto ui_display_capabilities_node = json_ui_getter.GetJsonMember(hmi_response::display_capabilities, hmi_apis::FunctionID::UI_GetCapabilities, - interfaces_from_default_); + default_initialized_capabilities_); if (!ui_display_capabilities_node.isNull()) { smart_objects::SmartObject display_capabilities_so; formatters::CFormatterJsonBase::jsonValueToObj( @@ -1245,7 +1245,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto ui_audio_pass_thru_capabilities_node = json_ui_getter.GetJsonMember(strings::audio_pass_thru_capabilities, hmi_apis::FunctionID::UI_GetCapabilities, - interfaces_from_default_); + default_initialized_capabilities_); if (!ui_audio_pass_thru_capabilities_node.isNull()) { smart_objects::SmartObject audio_capabilities_so( smart_objects::SmartType_Array); @@ -1268,7 +1268,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto ui_pcm_stream_capabilities_node = json_ui_getter.GetJsonMember(strings::pcm_stream_capabilities, hmi_apis::FunctionID::INVALID_ENUM, - interfaces_from_default_); + default_initialized_capabilities_); if (!ui_pcm_stream_capabilities_node.isNull()) { smart_objects::SmartObject pcm_capabilities_so = smart_objects::SmartObject(smart_objects::SmartType_Map); @@ -1280,7 +1280,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto ui_hmi_zone_capabilities_node = json_ui_getter.GetJsonMember(hmi_response::hmi_zone_capabilities, hmi_apis::FunctionID::UI_GetCapabilities, - interfaces_from_default_); + default_initialized_capabilities_); if (!ui_hmi_zone_capabilities_node.isNull()) { smart_objects::SmartObject hmi_zone_capabilities_so = smart_objects::SmartObject(smart_objects::SmartType_Array); @@ -1293,7 +1293,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto ui_soft_button_capabilities_node = json_ui_getter.GetJsonMember(hmi_response::soft_button_capabilities, hmi_apis::FunctionID::UI_GetCapabilities, - interfaces_from_default_); + default_initialized_capabilities_); if (!ui_soft_button_capabilities_node.isNull()) { smart_objects::SmartObject soft_button_capabilities_so; formatters::CFormatterJsonBase::jsonValueToObj( @@ -1304,7 +1304,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto ui_system_capabilities_capabilities_node = json_ui_getter.GetJsonMember(strings::system_capabilities, hmi_apis::FunctionID::UI_GetCapabilities, - interfaces_from_default_); + default_initialized_capabilities_); if (!ui_system_capabilities_capabilities_node.isNull()) { if (JsonIsMemberSafe(ui_system_capabilities_capabilities_node, strings::navigation_capability)) { @@ -1439,7 +1439,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto vr_language_node = json_vr_getter.GetJsonMember(hmi_response::language, hmi_apis::FunctionID::VR_GetLanguage, - interfaces_from_default_); + default_initialized_capabilities_); if (!vr_language_node.isNull()) { const std::string lang = vr_language_node.asString(); set_active_vr_language(MessageHelper::CommonLanguageFromString(lang)); @@ -1448,7 +1448,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto vr_languages_node = json_vr_getter.GetJsonMember( hmi_response::languages, hmi_apis::FunctionID::VR_GetSupportedLanguages, - interfaces_from_default_); + default_initialized_capabilities_); if (!vr_languages_node.isNull()) { smart_objects::SmartObject vr_languages_so = smart_objects::SmartObject(smart_objects::SmartType_Array); @@ -1460,7 +1460,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto vr_capabilities_node = json_vr_getter.GetJsonMember(strings::vr_capabilities, hmi_apis::FunctionID::VR_GetCapabilities, - interfaces_from_default_); + default_initialized_capabilities_); if (!vr_capabilities_node.isNull()) { smart_objects::SmartObject vr_capabilities_so = smart_objects::SmartObject(smart_objects::SmartType_Array); @@ -1481,7 +1481,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto tts_language_node = json_tts_getter.GetJsonMember(hmi_response::language, hmi_apis::FunctionID::TTS_GetLanguage, - interfaces_from_default_); + default_initialized_capabilities_); if (!tts_language_node.isNull()) { const std::string lang = tts_language_node.asString(); set_active_tts_language(MessageHelper::CommonLanguageFromString(lang)); @@ -1490,7 +1490,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto tts_languages_node = json_tts_getter.GetJsonMember( hmi_response::languages, hmi_apis::FunctionID::TTS_GetSupportedLanguages, - interfaces_from_default_); + default_initialized_capabilities_); if (!tts_languages_node.isNull()) { smart_objects::SmartObject tts_languages_so = smart_objects::SmartObject(smart_objects::SmartType_Array); @@ -1502,7 +1502,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto tts_speech_capabilities_node = json_tts_getter.GetJsonMember( hmi_response::speech_capabilities, hmi_apis::FunctionID::TTS_GetCapabilities, - interfaces_from_default_); + default_initialized_capabilities_); if (!tts_speech_capabilities_node.isNull()) { smart_objects::SmartObject tts_capabilities_so = smart_objects::SmartObject(smart_objects::SmartType_Array); @@ -1515,7 +1515,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { json_tts_getter.GetJsonMember( hmi_response::prerecorded_speech_capabilities, hmi_apis::FunctionID::TTS_GetCapabilities, - interfaces_from_default_); + default_initialized_capabilities_); if (!tts_prerecorded_speech_capabilities_node.isNull()) { smart_objects::SmartObject tts_capabilities_so = smart_objects::SmartObject(smart_objects::SmartType_Array); @@ -1538,7 +1538,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto buttons_capabilities_node = json_buttons_getter.GetJsonMember( hmi_response::capabilities, hmi_apis::FunctionID::Buttons_GetCapabilities, - interfaces_from_default_); + default_initialized_capabilities_); if (!buttons_capabilities_node.isNull()) { smart_objects::SmartObject buttons_capabilities_so; formatters::CFormatterJsonBase::jsonValueToObj( @@ -1583,7 +1583,7 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { auto vehicle_type_node = json_vehicle_info_getter.GetJsonMember( hmi_response::vehicle_type, hmi_apis::FunctionID::VehicleInfo_GetVehicleType, - interfaces_from_default_); + default_initialized_capabilities_); if (!vehicle_type_node.isNull()) { smart_objects::SmartObject vehicle_type_so; formatters::CFormatterJsonBase::jsonValueToObj(vehicle_type_node, @@ -1614,8 +1614,8 @@ HMICapabilitiesImpl::GetActiveLanguageForInterface( } std::set<hmi_apis::FunctionID::eType> -HMICapabilitiesImpl::GetInterfacesFromDefault() const { - return interfaces_from_default_; +HMICapabilitiesImpl::GetDefaultInitializedCapabilities() const { + return default_initialized_capabilities_; } bool HMICapabilitiesImpl::AllFieldsSaved( diff --git a/src/components/application_manager/test/include/application_manager/mock_hmi_capabilities.h b/src/components/application_manager/test/include/application_manager/mock_hmi_capabilities.h index 4561ebfb4b..600b9f9d4d 100644 --- a/src/components/application_manager/test/include/application_manager/mock_hmi_capabilities.h +++ b/src/components/application_manager/test/include/application_manager/mock_hmi_capabilities.h @@ -212,7 +212,7 @@ class MockHMICapabilities : public ::application_manager::HMICapabilities { const std::vector<std::string>& sections_to_update, const smart_objects::CSmartSchema& schema)); MOCK_CONST_METHOD0(DeleteCachedCapabilitiesFile, bool()); - MOCK_CONST_METHOD0(GetInterfacesFromDefault, + MOCK_CONST_METHOD0(GetDefaultInitializedCapabilities, std::set<hmi_apis::FunctionID::eType>()); }; diff --git a/src/components/include/application_manager/hmi_capabilities.h b/src/components/include/application_manager/hmi_capabilities.h index e782877631..ed002a3bd8 100644 --- a/src/components/include/application_manager/hmi_capabilities.h +++ b/src/components/include/application_manager/hmi_capabilities.h @@ -514,8 +514,13 @@ class HMICapabilities { */ virtual bool DeleteCachedCapabilitiesFile() const = 0; - virtual std::set<hmi_apis::FunctionID::eType> GetInterfacesFromDefault() - const = 0; + /** + * @brief Returns collection of requests that should be send to + * the HMI to get required HMI capabilities, that was missing in the cache + * @return set of function id's + */ + virtual std::set<hmi_apis::FunctionID::eType> + GetDefaultInitializedCapabilities() const = 0; }; } // namespace application_manager |