Renamed ManifestHalInterface to HalInterface
because it is used by compatibility matrix as well.
Bug: 38395193
Test: compiles
Change-Id: I186fdf4e7fd7076f2ac9d7e95eda5ba7510f9dad
Merged-In: I186fdf4e7fd7076f2ac9d7e95eda5ba7510f9dad
diff --git a/include/vintf/ManifestHalInterface.h b/include/vintf/HalInterface.h
similarity index 78%
rename from include/vintf/ManifestHalInterface.h
rename to include/vintf/HalInterface.h
index f3c0d0e..7926b49 100644
--- a/include/vintf/ManifestHalInterface.h
+++ b/include/vintf/HalInterface.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef ANDROID_VINTF_MANIFEST_HAL_INTERFACE_H_
-#define ANDROID_VINTF_MANIFEST_HAL_INTERFACE_H_
+#ifndef ANDROID_VINTF_HAL_INTERFACE_H_
+#define ANDROID_VINTF_HAL_INTERFACE_H_
#include <set>
#include <string>
@@ -23,8 +23,8 @@
namespace android {
namespace vintf {
-// manifest.hal.interface element
-struct ManifestHalInterface {
+// manifest.hal.interface element / compatibility-matrix.hal.interface element
+struct HalInterface {
std::string name;
std::set<std::string> instances;
};
@@ -32,4 +32,4 @@
} // namespace vintf
} // namespace android
-#endif // ANDROID_VINTF_MANIFEST_HAL_INTERFACE_H_
+#endif // ANDROID_VINTF_HAL_INTERFACE_H_
diff --git a/include/vintf/ManifestHal.h b/include/vintf/ManifestHal.h
index 685822a..15d2300 100644
--- a/include/vintf/ManifestHal.h
+++ b/include/vintf/ManifestHal.h
@@ -23,7 +23,7 @@
#include <map>
#include "HalFormat.h"
-#include "ManifestHalInterface.h"
+#include "HalInterface.h"
#include "TransportArch.h"
#include "Version.h"
@@ -39,7 +39,7 @@
std::string name;
std::vector<Version> versions;
TransportArch transportArch;
- std::map<std::string, ManifestHalInterface> interfaces;
+ std::map<std::string, HalInterface> interfaces;
inline bool hasVersion(Version v) const {
return std::find(versions.begin(), versions.end(), v) != versions.end();
diff --git a/parse_xml.cpp b/parse_xml.cpp
index 9f144f4..7287604 100644
--- a/parse_xml.cpp
+++ b/parse_xml.cpp
@@ -439,6 +439,30 @@
const KernelConfigConverter kernelConfigConverter{};
+struct HalInterfaceConverter : public XmlNodeConverter<HalInterface> {
+ std::string elementName() const override { return "interface"; }
+ void mutateNode(const HalInterface &intf, NodeType *root, DocType *d) const override {
+ appendTextElement(root, "name", intf.name, d);
+ appendTextElements(root, "instance", intf.instances, d);
+ }
+ bool buildObject(HalInterface *intf, NodeType *root) const override {
+ std::vector<std::string> instances;
+ if (!parseTextElement(root, "name", &intf->name) ||
+ !parseTextElements(root, "instance", &instances)) {
+ return false;
+ }
+ intf->instances.clear();
+ intf->instances.insert(instances.begin(), instances.end());
+ if (intf->instances.size() != instances.size()) {
+ this->mLastError = "Duplicated instances in " + intf->name;
+ return false;
+ }
+ return true;
+ }
+};
+
+const HalInterfaceConverter halInterfaceConverter{};
+
struct MatrixHalConverter : public XmlNodeConverter<MatrixHal> {
std::string elementName() const override { return "hal"; }
void mutateNode(const MatrixHal &hal, NodeType *root, DocType *d) const override {
@@ -477,30 +501,6 @@
const MatrixKernelConverter matrixKernelConverter{};
-struct ManfiestHalInterfaceConverter : public XmlNodeConverter<ManifestHalInterface> {
- std::string elementName() const override { return "interface"; }
- void mutateNode(const ManifestHalInterface &intf, NodeType *root, DocType *d) const override {
- appendTextElement(root, "name", intf.name, d);
- appendTextElements(root, "instance", intf.instances, d);
- }
- bool buildObject(ManifestHalInterface *intf, NodeType *root) const override {
- std::vector<std::string> instances;
- if (!parseTextElement(root, "name", &intf->name) ||
- !parseTextElements(root, "instance", &instances)) {
- return false;
- }
- intf->instances.clear();
- intf->instances.insert(instances.begin(), instances.end());
- if (intf->instances.size() != instances.size()) {
- this->mLastError = "Duplicated instances in " + intf->name;
- return false;
- }
- return true;
- }
-};
-
-const ManfiestHalInterfaceConverter manfiestHalInterfaceConverter{};
-
struct ManifestHalConverter : public XmlNodeConverter<ManifestHal> {
std::string elementName() const override { return "hal"; }
void mutateNode(const ManifestHal &hal, NodeType *root, DocType *d) const override {
@@ -510,15 +510,15 @@
appendChild(root, transportArchConverter(hal.transportArch, d));
}
appendChildren(root, versionConverter, hal.versions, d);
- appendChildren(root, manfiestHalInterfaceConverter, iterateValues(hal.interfaces), d);
+ appendChildren(root, halInterfaceConverter, iterateValues(hal.interfaces), d);
}
bool buildObject(ManifestHal *object, NodeType *root) const override {
- std::vector<ManifestHalInterface> interfaces;
+ std::vector<HalInterface> interfaces;
if (!parseOptionalAttr(root, "format", HalFormat::HIDL, &object->format) ||
!parseTextElement(root, "name", &object->name) ||
!parseChild(root, transportArchConverter, &object->transportArch) ||
!parseChildren(root, versionConverter, &object->versions) ||
- !parseChildren(root, manfiestHalInterfaceConverter, &interfaces)) {
+ !parseChildren(root, halInterfaceConverter, &interfaces)) {
return false;
}
object->interfaces.clear();