summaryrefslogtreecommitdiff
path: root/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2018-08-07 11:49:49 -0400
committerJackLivio <jack@livio.io>2018-08-07 11:49:49 -0400
commit88bce365ed9000bb95894d1b610d33c0ba3d0bc5 (patch)
tree3fba7d353388799daa201e7f09b6e5aa3a77150d /src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands
parent174b43c55d89dd98c511bf55c3455755bfb9f86c (diff)
parent8a5be2b85c5c37b5b2d2b304f0816eda6f05352b (diff)
downloadsdl_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.cc18
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