summaryrefslogtreecommitdiff
path: root/src/components/application_manager/rpc_plugins
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2018-08-01 14:06:34 -0400
committerJackLivio <jack@livio.io>2018-08-01 14:06:34 -0400
commitea4a1731986b7f420c31f978edc7219edde448be (patch)
tree15fb0a6a4543c58f04cd3bc180b1e6e7834cc8ed /src/components/application_manager/rpc_plugins
parent9727cd2cd185d2ea3ea028aab89cb419d1ad4a87 (diff)
downloadsdl_core-ea4a1731986b7f420c31f978edc7219edde448be.tar.gz
Add support for mandatory and removed versioning
Diffstat (limited to 'src/components/application_manager/rpc_plugins')
-rw-r--r--src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc
index 78a92d360a..672864c422 100644
--- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc
+++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc
@@ -293,12 +293,26 @@ void RegisterAppInterfaceRequest::Run() {
return;
}
+ uint16_t major = msg_params[strings::sync_msg_version][strings::major_version].asUInt();
+ uint16_t minor = msg_params[strings::sync_msg_version][strings::minor_version].asUInt();
+ uint16_t patch = 0;
+ if(msg_params[strings::sync_msg_version].keyExists(strings::patch_version)) {
+ patch = msg_params[strings::sync_msg_version][strings::patch_version].asUInt();
+ }
+ if (major < minimum_major_version || (major == minimum_major_version && minor < minimum_minor_version)
+ || (major == minimum_major_version && minor == minimum_minor_version && patch < minimum_patch_version)) {
+ SendResponse(false, mobile_apis::Result::REJECTED);
+ }
+
application = application_manager_.RegisterApplication(message_);
if (!application) {
LOG4CXX_ERROR(logger_, "Application hasn't been registered!");
return;
}
+
+ application->set_msg_version(major, minor, patch);
+
// For resuming application need to restore hmi_app_id from resumeCtrl
resumption::ResumeCtrl& resumer = application_manager_.resume_controller();
const std::string& device_mac = application->mac_address();