Fix XML file metaversioning logic.
* define libvintf metaversion at VintfObject::kMetaVersion.
* libvintf@x.y should be able to read all XML files at
version x.z, where y >= z.
* The minor version of compatibility-matrix.version now means
the minimum libvintf metaversion that can parse this file.
This CL does not change any behavior on existing XML files
at version 1.0.
Test: libvintf_test
Test: vintf_object_test
Bug: 62801658
Change-Id: If1b74ef83e56565a715e50786a7531ed086755f7
diff --git a/CompatibilityMatrix.cpp b/CompatibilityMatrix.cpp
index f320861..73d0384 100644
--- a/CompatibilityMatrix.cpp
+++ b/CompatibilityMatrix.cpp
@@ -22,8 +22,6 @@
namespace android {
namespace vintf {
-constexpr Version CompatibilityMatrix::kVersion;
-
bool CompatibilityMatrix::add(MatrixHal &&hal) {
return HalGroup<MatrixHal>::add(std::move(hal));
}
@@ -40,6 +38,11 @@
return mType;
}
+Version CompatibilityMatrix::getMinimumMetaVersion() const {
+ // TODO(b/62801658): this needs to depend on whether there are 1.1 requirements
+ // (e.g. required <xmlfile> entry)
+ return {1, 0};
+}
status_t CompatibilityMatrix::fetchAllInformation(const std::string &path) {
return details::fetchAllInformation(path, gCompatibilityMatrixConverter, this);