diff options
Diffstat (limited to 'src/components/application_manager/src/commands/hmi/request_from_hmi.cc')
-rw-r--r-- | src/components/application_manager/src/commands/hmi/request_from_hmi.cc | 69 |
1 files changed, 47 insertions, 22 deletions
diff --git a/src/components/application_manager/src/commands/hmi/request_from_hmi.cc b/src/components/application_manager/src/commands/hmi/request_from_hmi.cc index 5713cf2a15..be3cd6314c 100644 --- a/src/components/application_manager/src/commands/hmi/request_from_hmi.cc +++ b/src/components/application_manager/src/commands/hmi/request_from_hmi.cc @@ -31,21 +31,22 @@ */ #include "application_manager/commands/hmi/request_from_hmi.h" -#include "application_manager/application_manager_impl.h" +#include "application_manager/application_manager.h" +#include "utils/make_shared.h" namespace application_manager { namespace commands { -RequestFromHMI::RequestFromHMI(const MessageSharedPtr& message) - : CommandImpl(message) { - +RequestFromHMI::RequestFromHMI(const MessageSharedPtr& message, + ApplicationManager& application_manager) + : CommandImpl(message, application_manager) + , EventObserver(application_manager.event_dispatcher()) { // Replace HMI app id with Mobile connection id - ApplicationManagerImpl::instance()->ReplaceHMIByMobileAppId(*(message.get())); + ReplaceHMIByMobileAppId(*(message.get())); } -RequestFromHMI::~RequestFromHMI() { -} +RequestFromHMI::~RequestFromHMI() {} bool RequestFromHMI::Init() { return true; @@ -55,27 +56,51 @@ bool RequestFromHMI::CleanUp() { return true; } -void RequestFromHMI::Run() { -} - -void RequestFromHMI::on_event(const event_engine::Event& event) { -} +void RequestFromHMI::Run() {} -void RequestFromHMI::SendResponse(uint32_t correlation_id, - hmi_apis::FunctionID::eType function_id, - hmi_apis::Common_Result::eType result_code) { - smart_objects::SmartObject* message = new smart_objects::SmartObject( - smart_objects::SmartType_Map); +void RequestFromHMI::on_event(const event_engine::Event& event) {} - (*message)[strings::params][strings::function_id] = function_id; +void RequestFromHMI::SendResponse( + const bool success, + const uint32_t correlation_id, + const hmi_apis::FunctionID::eType function_id, + const hmi_apis::Common_Result::eType result_code) { + smart_objects::SmartObject* message = + new smart_objects::SmartObject(smart_objects::SmartType_Map); + FillCommonParametersOfSO(message, correlation_id, function_id); (*message)[strings::params][strings::message_type] = MessageType::kResponse; - (*message)[strings::params][strings::correlation_id] = correlation_id; - (*message)[strings::params][hmi_response::code] = result_code; + (*message)[strings::params][hmi_response::code] = 0; + (*message)[strings::msg_params][strings::success] = success; + (*message)[strings::msg_params][strings::result_code] = result_code; - ApplicationManagerImpl::instance()->ManageHMICommand(message); + application_manager_.ManageHMICommand(message); } +// void RequestFromHMI::SendErrorResponse(uint32_t correlation_id, +// hmi_apis::FunctionID::eType +// function_id, +// hmi_apis::Common_Result::eType +// result_code) { +// smart_objects::SmartObject* message = new smart_objects::SmartObject( +// smart_objects::SmartType_Map); +// FillCommonParametersOfSO(message, correlation_id, function_id); +// (*message)[strings::params][strings::message_type] = +// MessageType::kErrorResponse; +// (*message)[strings::params][hmi_response::code] = result_code; +// (*message)[strings::params][strings::error_msg] = "HMIDeactivate is active"; + +// application_manager_.ManageHMICommand(message); +//} + +void RequestFromHMI::FillCommonParametersOfSO( + smart_objects::SmartObject* message, + uint32_t correlation_id, + hmi_apis::FunctionID::eType function_id) { + (*message)[strings::params][strings::function_id] = function_id; + (*message)[strings::params][strings::protocol_type] = hmi_protocol_type_; + (*message)[strings::params][strings::protocol_version] = protocol_version_; + (*message)[strings::params][strings::correlation_id] = correlation_id; +} } // namespace commands } // namespace application_manager - |