SerializeFlags: Remove legacy APIs
Remove legacy bitwise operators and boolean conversions
that are meant to be compatible with the old negative flags
usage. Also fix all such usages.
Bug: 110711640
Test: libvintf_test
Change-Id: Ic69a7066dd3ae320aeb0a1848eb7719f67da29d3
diff --git a/SerializeFlags.cpp b/SerializeFlags.cpp
index bbbb276..78839c9 100644
--- a/SerializeFlags.cpp
+++ b/SerializeFlags.cpp
@@ -22,23 +22,6 @@
SerializeFlags::SerializeFlags(uint32_t value) : mValue(value) {}
SerializeFlags::SerializeFlags(const SerializeFlags& other) : mValue(other.mValue) {}
-SerializeFlags SerializeFlags::operator|(SerializeFlags other) const {
- return SerializeFlags(mValue & other.mValue);
-}
-
-SerializeFlags SerializeFlags::operator&(SerializeFlags other) const {
- return SerializeFlags(mValue | other.mValue);
-}
-
-SerializeFlags& SerializeFlags::operator|=(SerializeFlags other) {
- *this = (*this | other);
- return *this;
-}
-
-SerializeFlags::operator bool() const {
- return ~mValue;
-}
-
#define VINTF_SERIALIZE_FLAGS_FIELD_DEFINE(name, bit) \
SerializeFlags SerializeFlags::enable##name() const { \
SerializeFlags ret(*this); \
diff --git a/include/vintf/SerializeFlags.h b/include/vintf/SerializeFlags.h
index ddd2e96..f39910a 100644
--- a/include/vintf/SerializeFlags.h
+++ b/include/vintf/SerializeFlags.h
@@ -67,14 +67,6 @@
private:
uint32_t mValue;
- // Legacy APIs to be compatible with old SerializeFlags usage.
- public:
- SerializeFlags operator|(SerializeFlags other) const;
- SerializeFlags operator&(SerializeFlags other) const;
- SerializeFlags& operator|=(SerializeFlags other);
- operator bool() const;
-
- private:
SerializeFlags(uint32_t value);
};
diff --git a/main.cpp b/main.cpp
index d7f6630..f766358 100644
--- a/main.cpp
+++ b/main.cpp
@@ -268,8 +268,7 @@
SerializeFlags flags = SerializeFlags::EVERYTHING;
if (!options.verbose) {
- flags |= SerializeFlags::NO_HALS;
- flags |= SerializeFlags::NO_KERNEL;
+ flags = flags.disableHals().disableKernel();
}
std::cout << "======== Device HAL Manifest =========" << std::endl;
if (vm != nullptr) std::cout << gHalManifestConverter(*vm, flags);
diff --git a/parse_xml.cpp b/parse_xml.cpp
index fba8dfd..0aec6b8 100644
--- a/parse_xml.cpp
+++ b/parse_xml.cpp
@@ -607,7 +607,7 @@
void mutateNode(const MatrixKernel& kernel, NodeType* root, DocType* d,
SerializeFlags flags) const override {
KernelVersion kv = kernel.mMinLts;
- if (flags & SerializeFlags::NO_KERNEL_MINOR_REVISION) {
+ if (!flags.isKernelMinorRevisionEnabled()) {
kv.minorRev = 0u;
}
appendAttr(root, "version", kv);
@@ -615,7 +615,7 @@
if (!kernel.mConditions.empty()) {
appendChild(root, matrixKernelConditionsConverter(kernel.mConditions, d));
}
- if (!(flags & SerializeFlags::NO_KERNEL_CONFIGS)) {
+ if (flags.isKernelConfigsEnabled()) {
appendChildren(root, kernelConfigConverter, kernel.mConfigs, d);
}
}
@@ -650,7 +650,7 @@
appendAttr(root, "override", hal.isOverride());
}
- if (!(flags & SerializeFlags::NO_FQNAME)) {
+ if (flags.isFqnameEnabled()) {
std::set<FqInstance> fqInstances;
hal.forEachInstance([&fqInstances](const auto& manifestInstance) {
fqInstances.emplace(manifestInstance.getFqInstanceNoPackage());
@@ -868,18 +868,18 @@
appendAttr(root, "version", m.getMetaVersion());
appendAttr(root, "type", m.mType);
- if (!(flags & SerializeFlags::NO_HALS)) {
+ if (flags.isHalsEnabled()) {
appendChildren(root, manifestHalConverter, m.getHals(), d, flags);
}
if (m.mType == SchemaType::DEVICE) {
- if (!(flags & SerializeFlags::NO_SEPOLICY)) {
+ if (flags.isSepolicyEnabled()) {
appendChild(root, halManifestSepolicyConverter(m.device.mSepolicyVersion, d));
}
if (m.mLevel != Level::UNSPECIFIED) {
this->appendAttr(root, "target-level", m.mLevel);
}
} else if (m.mType == SchemaType::FRAMEWORK) {
- if (!(flags & SerializeFlags::NO_VNDK)) {
+ if (flags.isVndkEnabled()) {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
appendChildren(root, vndkConverter, m.framework.mVndks, d);
@@ -887,14 +887,14 @@
appendChildren(root, vendorNdkConverter, m.framework.mVendorNdks, d);
}
- if (!(flags & SerializeFlags::NO_SSDK)) {
+ if (flags.isSsdkEnabled()) {
if (!m.framework.mSystemSdk.empty()) {
appendChild(root, systemSdkConverter(m.framework.mSystemSdk, d));
}
}
}
- if (!(flags & SerializeFlags::NO_XMLFILES)) {
+ if (flags.isXmlFilesEnabled()) {
appendChildren(root, manifestXmlFileConverter, m.getXmlFiles(), d);
}
}
@@ -1029,19 +1029,19 @@
appendAttr(root, "version", m.getMinimumMetaVersion());
appendAttr(root, "type", m.mType);
- if (!(flags & SerializeFlags::NO_HALS)) {
+ if (flags.isHalsEnabled()) {
appendChildren(root, matrixHalConverter, iterateValues(m.mHals), d);
}
if (m.mType == SchemaType::FRAMEWORK) {
- if (!(flags & SerializeFlags::NO_KERNEL)) {
+ if (flags.isKernelEnabled()) {
appendChildren(root, matrixKernelConverter, m.framework.mKernels, d, flags);
}
- if (!(flags & SerializeFlags::NO_SEPOLICY)) {
+ if (flags.isSepolicyEnabled()) {
if (!(m.framework.mSepolicy == Sepolicy{})) {
appendChild(root, sepolicyConverter(m.framework.mSepolicy, d));
}
}
- if (!(flags & SerializeFlags::NO_AVB)) {
+ if (flags.isAvbEnabled()) {
if (!(m.framework.mAvbMetaVersion == Version{})) {
appendChild(root, avbConverter(m.framework.mAvbMetaVersion, d));
}
@@ -1050,7 +1050,7 @@
this->appendAttr(root, "level", m.mLevel);
}
} else if (m.mType == SchemaType::DEVICE) {
- if (!(flags & SerializeFlags::NO_VNDK)) {
+ if (flags.isVndkEnabled()) {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
if (!(m.device.mVndk == Vndk{})) {
@@ -1063,14 +1063,14 @@
}
}
- if (!(flags & SerializeFlags::NO_SSDK)) {
+ if (flags.isSsdkEnabled()) {
if (!m.device.mSystemSdk.empty()) {
appendChild(root, systemSdkConverter(m.device.mSystemSdk, d));
}
}
}
- if (!(flags & SerializeFlags::NO_XMLFILES)) {
+ if (flags.isXmlFilesEnabled()) {
appendChildren(root, matrixXmlFileConverter, m.getXmlFiles(), d);
}
}
diff --git a/test/LibVintfTest.cpp b/test/LibVintfTest.cpp
index 7f6ce78..ce186fe 100644
--- a/test/LibVintfTest.cpp
+++ b/test/LibVintfTest.cpp
@@ -260,7 +260,7 @@
TEST_F(LibVintfTest, HalManifestConverter) {
HalManifest vm = testDeviceManifest();
std::string xml =
- gHalManifestConverter(vm, SerializeFlags::HALS_NO_FQNAME & SerializeFlags::SEPOLICY_ONLY);
+ gHalManifestConverter(vm, SerializeFlags::NO_TAGS.enableHals().enableSepolicy());
EXPECT_EQ(xml,
"<manifest version=\"1.0\" type=\"device\">\n"
" <hal format=\"hidl\">\n"
@@ -297,8 +297,7 @@
TEST_F(LibVintfTest, HalManifestConverterFramework) {
HalManifest vm = testFrameworkManfiest();
- std::string xml =
- gHalManifestConverter(vm, SerializeFlags::HALS_NO_FQNAME & SerializeFlags::VNDK_ONLY);
+ std::string xml = gHalManifestConverter(vm, SerializeFlags::NO_TAGS.enableHals().enableVndk());
EXPECT_EQ(xml,
"<manifest version=\"1.0\" type=\"framework\">\n"
" <hal format=\"hidl\">\n"
@@ -1285,9 +1284,8 @@
TEST_F(LibVintfTest, HalManifestConverterXmlFile) {
HalManifest vm = testDeviceManifestWithXmlFile();
- std::string xml =
- gHalManifestConverter(vm, SerializeFlags::HALS_NO_FQNAME & SerializeFlags::SEPOLICY_ONLY &
- SerializeFlags::XMLFILES_ONLY);
+ std::string xml = gHalManifestConverter(
+ vm, SerializeFlags::NO_TAGS.enableHals().enableSepolicy().enableXmlFiles());
EXPECT_EQ(xml,
"<manifest version=\"1.0\" type=\"device\">\n"
" <hal format=\"hidl\">\n"