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.cc23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/components/application_manager/src/rpc_handler_impl.cc b/src/components/application_manager/src/rpc_handler_impl.cc
index e17eaa264e..a2b1245882 100644
--- a/src/components/application_manager/src/rpc_handler_impl.cc
+++ b/src/components/application_manager/src/rpc_handler_impl.cc
@@ -43,12 +43,14 @@ namespace formatters = ns_smart_device_link::ns_json_handler::formatters;
namespace jhs = ns_smart_device_link::ns_json_handler::strings;
namespace plugin_names = application_manager::plugin_manager::plugin_names;
-RPCHandlerImpl::RPCHandlerImpl(ApplicationManager& app_manager)
+RPCHandlerImpl::RPCHandlerImpl(ApplicationManager& app_manager,
+ hmi_apis::HMI_API& hmi_so_factory,
+ mobile_apis::MOBILE_API& mobile_so_factory)
: app_manager_(app_manager)
, messages_from_mobile_("AM FromMobile", this)
, messages_from_hmi_("AM FromHMI", this)
- , hmi_so_factory_(hmi_apis::HMI_API())
- , mobile_so_factory_(mobile_apis::MOBILE_API())
+ , hmi_so_factory_(hmi_so_factory)
+ , mobile_so_factory_(mobile_so_factory)
#ifdef TELEMETRY_MONITOR
, metric_observer_(NULL)
#endif // TELEMETRY_MONITOR
@@ -165,13 +167,13 @@ void RPCHandlerImpl::ProcessMessageFromHMI(
hmi_apis::messageType::eType>(
message->json_message(), converted_result);
+ const auto function_id = static_cast<int32_t>(
+ converted_result[jhs::S_PARAMS][jhs::S_FUNCTION_ID].asInt());
if (app_manager_.GetRPCService().IsAppServiceRPC(
- converted_result[jhs::S_PARAMS][jhs::S_FUNCTION_ID].asInt(),
- commands::Command::SOURCE_HMI)) {
+ function_id, commands::Command::SOURCE_HMI)) {
LOG4CXX_DEBUG(
logger_,
- "Allowing unknown parameters for request function "
- << converted_result[jhs::S_PARAMS][jhs::S_FUNCTION_ID].asInt());
+ "Allowing unknown parameters for request function " << function_id);
allow_unknown_parameters = true;
}
@@ -403,7 +405,7 @@ bool RPCHandlerImpl::ConvertMessageToSO(
"Convertion result: "
<< result << " function id "
<< output[jhs::S_PARAMS][jhs::S_FUNCTION_ID].asInt());
- if (!hmi_so_factory().attachSchema(output, false)) {
+ if (!hmi_so_factory().attachSchema(output, !allow_unknown_parameters)) {
LOG4CXX_WARN(logger_, "Failed to attach schema to object.");
return false;
}
@@ -412,8 +414,9 @@ bool RPCHandlerImpl::ConvertMessageToSO(
utils::SemanticVersion empty_version;
if (validate_params &&
- output.validate(&report, empty_version, allow_unknown_parameters) !=
- smart_objects::errors::OK) {
+ smart_objects::errors::OK !=
+ output.validate(
+ &report, empty_version, allow_unknown_parameters)) {
LOG4CXX_ERROR(
logger_,
"Incorrect parameter from HMI - " << rpc::PrettyFormat(report));