Revert "Revert "Enforce minor version uprevs.""
This reverts commit 976ae898472e03f31c56eb1df62c81842e0ccb90.
Test: mma
Change-Id: Ib2f0be2b4cbf809831500ac536453237523904ec
diff --git a/Coordinator.h b/Coordinator.h
index 34298a4..0aefb40 100644
--- a/Coordinator.h
+++ b/Coordinator.h
@@ -87,6 +87,11 @@
const FQName &package,
std::vector<FQName> *packageInterfaces) const;
+ // Enforce a set of restrictions on a set of packages. These include:
+ // - minor version upgrades
+ // "packages" contains names like "android.hardware.nfc@1.1".
+ status_t enforceRestrictionsOnPackage(const FQName &fqName);
+
static bool MakeParentHierarchy(const std::string &path);
private:
@@ -98,11 +103,19 @@
// "hardware/interfaces".
std::vector<std::string> mPackageRootPaths;
std::vector<std::string> mPackageRoots;
+
+ // cache to parse().
std::map<FQName, AST *> mCache;
+ // cache to enforceRestrictionsOnPackage().
+ std::set<FQName> mPackagesEnforced;
+
std::vector<std::string>::const_iterator findPackageRoot(
const FQName &fqName) const;
+ // Rules of enforceRestrictionsOnPackage are listed below.
+ status_t enforceMinorVersionUprevs(const FQName &fqName);
+
DISALLOW_COPY_AND_ASSIGN(Coordinator);
};