Add manifest kernel FCM version
Add target-level attribute to manifest.kernel. A device manifest
can specify this attribute to specify the kernel requirements which
FCM version it conforms to.
This CL adds parsing code for the target-level attribute.
Test: libvintf_test
Bug: 139309488
Change-Id: Ibd29e0778432d046e06345d8c6e22656773819c2
diff --git a/parse_xml.cpp b/parse_xml.cpp
index eedfa1a..9b2da7f 100644
--- a/parse_xml.cpp
+++ b/parse_xml.cpp
@@ -949,12 +949,16 @@
if (o.version() != KernelVersion{}) {
appendAttr(root, "version", o.version());
}
+ if (o.level() != Level::UNSPECIFIED) {
+ appendAttr(root, "target-level", o.level());
+ }
if (flags.isKernelConfigsEnabled()) {
appendChildren(root, kernelConfigConverter, o.configs(), d);
}
}
bool buildObject(KernelInfo* o, NodeType* root, std::string* error) const override {
return parseOptionalAttr(root, "version", {}, &o->mVersion, error) &&
+ parseOptionalAttr(root, "target-level", Level::UNSPECIFIED, &o->mLevel, error) &&
parseChildren(root, kernelConfigConverter, &o->mConfigs, error);
}
};