summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYaroslav Mamykin (GitHub) <ymamykin@luxoft.com>2019-10-25 13:00:05 +0300
committerYaroslav Mamykin (GitHub) <ymamykin@luxoft.com>2019-10-25 13:00:05 +0300
commit165604adbbcc033bb1fa837024a58ee8e5c72592 (patch)
tree4771119b4f2f894a25a9552f41462ce10adc09a4
parent5ef6bc754c07620d0dd40bc70bb3cc8eef7596af (diff)
downloadsdl_core-165604adbbcc033bb1fa837024a58ee8e5c72592.tar.gz
fixup! Fix versioning appliance for vehicle data
-rw-r--r--src/components/smart_objects/src/object_schema_item.cc15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/components/smart_objects/src/object_schema_item.cc b/src/components/smart_objects/src/object_schema_item.cc
index 5990815905..437e0c708f 100644
--- a/src/components/smart_objects/src/object_schema_item.cc
+++ b/src/components/smart_objects/src/object_schema_item.cc
@@ -82,8 +82,15 @@ SMember::SMember(const ISchemaItemPtr SchemaItem,
bool SMember::CheckHistoryFieldVersion(
const utils::SemanticVersion& MessageVersion) const {
if (MessageVersion.isValid()) {
- if (mUntil != boost::none && (MessageVersion >= mUntil.get())) {
- return false; // Msg version newer than `until` field
+ if (mSince != boost::none) {
+ if (MessageVersion < mSince.get()) {
+ return false;
+ }
+ }
+ if (mUntil != boost::none) {
+ if (MessageVersion >= mUntil.get()) {
+ return false; // Msg version newer than `until` field
+ }
}
}
@@ -281,7 +288,9 @@ const SMember* CObjectSchemaItem::GetCorrectMember(
}
// Return member as default
- return nullptr;
+ return (member.mSince != boost::none && member.mSince.get() > kModuleVersion)
+ ? &member
+ : nullptr;
}
} // namespace ns_smart_objects