diff options
Diffstat (limited to 'src/components/application_manager/src/rpc_handler_impl.cc')
-rw-r--r-- | src/components/application_manager/src/rpc_handler_impl.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/components/application_manager/src/rpc_handler_impl.cc b/src/components/application_manager/src/rpc_handler_impl.cc index b8dad59830..4137ab93bb 100644 --- a/src/components/application_manager/src/rpc_handler_impl.cc +++ b/src/components/application_manager/src/rpc_handler_impl.cc @@ -283,6 +283,26 @@ void RPCHandlerImpl::OnMessageReceived( void RPCHandlerImpl::OnErrorSending( hmi_message_handler::MessageSharedPointer message) { + SDL_LOG_AUTO_TRACE(); + smart_objects::SmartObjectSPtr smart_object = + std::make_shared<smart_objects::SmartObject>(); + std::string warning_info; + bool allow_unknown_parameters = true; + if (ConvertMessageToSO( + *message, *smart_object, warning_info, allow_unknown_parameters)) { + (*smart_object)[strings::params][strings::message_type] = + application_manager::MessageType::kResponse; + (*smart_object).erase(strings::msg_params); + (*smart_object)[strings::params][hmi_response::code] = + hmi_apis::Common_Result::GENERIC_ERROR; + (*smart_object)[strings::params][strings::error_msg] = + std::string("Error sending message, mb component not registered"); + + if (!app_manager_.GetRPCService().ManageHMICommand( + smart_object, commands::Command::SOURCE_HMI, warning_info)) { + SDL_LOG_ERROR("Received command didn't run successfully"); + } + } return; } |