Remove CompatibilityMatrix::getInstances/hasInstance
... by moving it from HalGroup to HalManifest. These APIs
should not be used by CompatibilityMatrix, becuase it doesn't
hold a list of exact instance names.
Bug: 73738616
Test: libvintf_test
Test: vintf_object_test
Test: vts_treble_vintf_test
Change-Id: I0ffc8de86ec3766630426288b28f6fafcda1730e
Merged-In: I0ffc8de86ec3766630426288b28f6fafcda1730e
diff --git a/CompatibilityMatrix.cpp b/CompatibilityMatrix.cpp
index 965923d..840899d 100644
--- a/CompatibilityMatrix.cpp
+++ b/CompatibilityMatrix.cpp
@@ -331,5 +331,17 @@
return true;
}
+bool CompatibilityMatrix::matchInstance(const std::string& halName, const Version& version,
+ const std::string& interfaceName,
+ const std::string& instance) const {
+ bool found = false;
+ (void)forEachInstanceOfInterface(halName, version, interfaceName,
+ [&found, &instance](const auto& e) {
+ found |= (e.matchInstance(instance));
+ return !found; // if not found, continue
+ });
+ return found;
+}
+
} // namespace vintf
} // namespace android