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/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);
}
}