summaryrefslogtreecommitdiff
path: root/src/components/application_manager/src/commands/hmi/request_from_hmi.cc
diff options
context:
space:
mode:
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.cc52
1 files changed, 39 insertions, 13 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..03a8bcfe8b 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,17 +31,19 @@
*/
#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() {
@@ -61,18 +63,42 @@ void RequestFromHMI::Run() {
void RequestFromHMI::on_event(const event_engine::Event& event) {
}
-void RequestFromHMI::SendResponse(uint32_t correlation_id,
- hmi_apis::FunctionID::eType function_id,
- hmi_apis::Common_Result::eType result_code) {
+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);
+ smart_objects::SmartType_Map);
+ FillCommonParametersOfSO(message, correlation_id, function_id);
+ (*message)[strings::params][strings::message_type] = MessageType::kResponse;
+ (*message)[strings::params][hmi_response::code] = 0;
+ (*message)[strings::msg_params][strings::success] = success;
+ (*message)[strings::msg_params][strings::result_code] = result_code;
+
+ 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::message_type] = MessageType::kResponse;
+ (*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;
- (*message)[strings::params][hmi_response::code] = result_code;
-
- ApplicationManagerImpl::instance()->ManageHMICommand(message);
}