diff options
author | JackLivio <jack@livio.io> | 2018-08-07 11:49:49 -0400 |
---|---|---|
committer | JackLivio <jack@livio.io> | 2018-08-07 11:49:49 -0400 |
commit | 88bce365ed9000bb95894d1b610d33c0ba3d0bc5 (patch) | |
tree | 3fba7d353388799daa201e7f09b6e5aa3a77150d /src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands | |
parent | 174b43c55d89dd98c511bf55c3455755bfb9f86c (diff) | |
parent | 8a5be2b85c5c37b5b2d2b304f0816eda6f05352b (diff) | |
download | sdl_core-88bce365ed9000bb95894d1b610d33c0ba3d0bc5.tar.gz |
Merge branch 'feature/mobile_versioning' into feature/choice_vr_optional
Diffstat (limited to 'src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands')
-rw-r--r-- | src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc | 18 |
1 files changed, 11 insertions, 7 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 9b546a1340..4284b97786 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 @@ -298,14 +298,19 @@ void RegisterAppInterfaceRequest::Run() { uint16_t minor = msg_params[strings::sync_msg_version][strings::minor_version].asUInt(); uint16_t patch = 0; + // Check if patch exists since it is not mandatory. 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)) { + + utils::SemanticVersion mobile_version(major, minor, patch); + utils::SemanticVersion min_module_version( + minimum_major_version, minimum_minor_version, minimum_patch_version); + + if (mobile_version < min_module_version) { + LOG4CXX_WARN(logger_, + "Application RPC Version does not meet minimum requirement"); SendResponse(false, mobile_apis::Result::REJECTED); } @@ -317,15 +322,14 @@ void RegisterAppInterfaceRequest::Run() { } // Version negotiation - utils::SemanticVersion mobile_version(major, minor, patch); utils::SemanticVersion module_version( major_version, minor_version, patch_version); if (mobile_version < module_version) { // Use mobile RPC version as negotiated version - application->set_msg_version(major, minor, patch); + application->set_msg_version(mobile_version); } else { // Use module version as negotiated version - application->set_msg_version(major_version, minor_version, patch_version); + application->set_msg_version(module_version); } // For resuming application need to restore hmi_app_id from resumeCtrl |