diff options
Diffstat (limited to 'src')
8 files changed, 40 insertions, 3 deletions
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/tts_is_ready_request.h b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/tts_is_ready_request.h index 7e1debc05e..b1a6197ac3 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/tts_is_ready_request.h +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/tts_is_ready_request.h @@ -83,6 +83,9 @@ class TTSIsReadyRequest : public app_mngr::commands::RequestToHMI, void RequestCapabilities(); private: + std::vector<hmi_apis::FunctionID::eType> + requests_required_for_TTS_capabilities_; + DISALLOW_COPY_AND_ASSIGN(TTSIsReadyRequest); }; diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/ui_is_ready_request.h b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/ui_is_ready_request.h index b08a2f8b20..8b24d664b1 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/ui_is_ready_request.h +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/ui_is_ready_request.h @@ -83,6 +83,9 @@ class UIIsReadyRequest : public app_mngr::commands::RequestToHMI, void RequestCapabilities(); private: + std::vector<hmi_apis::FunctionID::eType> + requests_required_for_UI_capabilities_; + DISALLOW_COPY_AND_ASSIGN(UIIsReadyRequest); }; diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/vr_is_ready_request.h b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/vr_is_ready_request.h index 7a37bacb77..2b8e367f7e 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/vr_is_ready_request.h +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/vr_is_ready_request.h @@ -84,6 +84,9 @@ class VRIsReadyRequest : public app_mngr::commands::RequestToHMI, void RequestCapabilities(); private: + std::vector<hmi_apis::FunctionID::eType> + requests_required_for_VR_capabilities_; + DISALLOW_COPY_AND_ASSIGN(VRIsReadyRequest); }; 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 e13dfa63d3..74349c1470 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 @@ -77,6 +77,8 @@ void RCIsReadyRequest::on_event(const event_engine::Event& event) { if (!app_mngr::commands::CheckAvailabilityHMIInterfaces( application_manager_, HmiInterfaces::HMI_INTERFACE_RC)) { + hmi_capabilities_.UpdateRequestsRequiredForCapabilities( + hmi_apis::FunctionID::RC_GetCapabilities); LOG4CXX_INFO(logger_, "HmiInterfaces::HMI_INTERFACE_RC isn't available"); return; 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 bc4c1db136..883f9e36ab 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 @@ -50,7 +50,12 @@ TTSIsReadyRequest::TTSIsReadyRequest( rpc_service, hmi_capabilities, policy_handler) - , EventObserver(application_manager.event_dispatcher()) {} + , EventObserver(application_manager.event_dispatcher()) { + requests_required_for_TTS_capabilities_ = { + hmi_apis::FunctionID::TTS_GetLanguage, + hmi_apis::FunctionID::TTS_GetSupportedLanguages, + hmi_apis::FunctionID::TTS_GetCapabilities}; +} TTSIsReadyRequest::~TTSIsReadyRequest() {} @@ -74,6 +79,9 @@ void TTSIsReadyRequest::on_event(const event_engine::Event& event) { hmi_capabilities.set_is_tts_cooperating(is_available); if (!app_mngr::commands::CheckAvailabilityHMIInterfaces( application_manager_, HmiInterfaces::HMI_INTERFACE_TTS)) { + for (auto request_id : requests_required_for_TTS_capabilities_) { + hmi_capabilities_.UpdateRequestsRequiredForCapabilities(request_id); + } LOG4CXX_INFO(logger_, "HmiInterfaces::HMI_INTERFACE_TTS isn't available"); return; 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 9e28b8f356..1359561ea3 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 @@ -50,7 +50,12 @@ UIIsReadyRequest::UIIsReadyRequest( rpc_service, hmi_capabilities, policy_handle) - , EventObserver(application_manager.event_dispatcher()) {} + , EventObserver(application_manager.event_dispatcher()) { + requests_required_for_UI_capabilities_ = { + hmi_apis::FunctionID::UI_GetLanguage, + hmi_apis::FunctionID::UI_GetSupportedLanguages, + hmi_apis::FunctionID::UI_GetCapabilities}; +} UIIsReadyRequest::~UIIsReadyRequest() {} @@ -73,6 +78,9 @@ void UIIsReadyRequest::on_event(const event_engine::Event& event) { hmi_capabilities.set_is_ui_cooperating(is_available); if (!app_mngr::commands::CheckAvailabilityHMIInterfaces( application_manager_, HmiInterfaces::HMI_INTERFACE_UI)) { + for (auto request_id : requests_required_for_UI_capabilities_) { + hmi_capabilities_.UpdateRequestsRequiredForCapabilities(request_id); + } LOG4CXX_INFO(logger_, "HmiInterfaces::HMI_INTERFACE_UI isn't available"); return; 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 466f4248c4..126fe34ec8 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 @@ -49,7 +49,12 @@ VRIsReadyRequest::VRIsReadyRequest( rpc_service, hmi_capabilities, policy_handle) - , EventObserver(application_manager.event_dispatcher()) {} + , EventObserver(application_manager.event_dispatcher()) { + requests_required_for_VR_capabilities_ = { + hmi_apis::FunctionID::VR_GetLanguage, + hmi_apis::FunctionID::VR_GetSupportedLanguages, + hmi_apis::FunctionID::VR_GetCapabilities}; +} VRIsReadyRequest::~VRIsReadyRequest() {} @@ -73,6 +78,9 @@ void VRIsReadyRequest::on_event(const event_engine::Event& event) { hmi_capabilities.set_is_vr_cooperating(is_available); if (!app_mngr::commands::CheckAvailabilityHMIInterfaces( application_manager_, HmiInterfaces::HMI_INTERFACE_VR)) { + for (auto request_id : requests_required_for_VR_capabilities_) { + hmi_capabilities_.UpdateRequestsRequiredForCapabilities(request_id); + } LOG4CXX_INFO(logger_, "HmiInterfaces::HMI_INTERFACE_VR isn't available"); return; 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 98ae210634..e8f507673c 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 @@ -79,6 +79,8 @@ void VIIsReadyRequest::on_event(const event_engine::Event& event) { LOG4CXX_INFO( logger_, "HmiInterfaces::HMI_INTERFACE_VehicleInfo isn't available"); + hmi_capabilities_.UpdateRequestsRequiredForCapabilities( + hmi_apis::FunctionID::VehicleInfo_GetVehicleType); return; } |