summaryrefslogtreecommitdiff
path: root/src/components/application_manager/src/rpc_handler_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/src/rpc_handler_impl.cc')
-rw-r--r--src/components/application_manager/src/rpc_handler_impl.cc20
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;
}