diff options
author | JackLivio <jack@livio.io> | 2018-08-01 14:06:34 -0400 |
---|---|---|
committer | JackLivio <jack@livio.io> | 2018-08-01 14:06:34 -0400 |
commit | ea4a1731986b7f420c31f978edc7219edde448be (patch) | |
tree | 15fb0a6a4543c58f04cd3bc180b1e6e7834cc8ed /src/components/application_manager/rpc_plugins | |
parent | 9727cd2cd185d2ea3ea028aab89cb419d1ad4a87 (diff) | |
download | sdl_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.cc | 14 |
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(); |