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