[libcamera-devel] [PATCH 5/7] libcamera: yaml_parser: Remove memberNames() function

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu Jun 16 16:24:01 CEST 2022


Now that YamlObject supports iteration, the memberNames() function isn't
useful anymore as it can be implemented using utils::map_keys() if
really needed. Drop it.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 include/libcamera/internal/yaml_parser.h |  1 -
 src/libcamera/yaml_parser.cpp            | 22 ----------------------
 test/yaml-parser.cpp                     | 10 ----------
 3 files changed, 33 deletions(-)

diff --git a/include/libcamera/internal/yaml_parser.h b/include/libcamera/internal/yaml_parser.h
index 8edd32354184..811be1affcc0 100644
--- a/include/libcamera/internal/yaml_parser.h
+++ b/include/libcamera/internal/yaml_parser.h
@@ -172,7 +172,6 @@ public:
 
 	bool contains(const std::string &key) const;
 	const YamlObject &operator[](const std::string &key) const;
-	std::vector<std::string> memberNames() const;
 
 private:
 	LIBCAMERA_DISABLE_COPY_AND_MOVE(YamlObject)
diff --git a/src/libcamera/yaml_parser.cpp b/src/libcamera/yaml_parser.cpp
index 4df7e5a33d47..9b6e70cbfcf3 100644
--- a/src/libcamera/yaml_parser.cpp
+++ b/src/libcamera/yaml_parser.cpp
@@ -335,28 +335,6 @@ bool YamlObject::contains(const std::string &key) const
 	return true;
 }
 
-/**
- * \fn YamlObject::memberNames()
- * \brief Retrieve all member names of the dictionary
- *
- * This function retrieve member names of a YamlObject. Only YamlObject
- * instances of Dictionary type associate elements with names, calling this
- * function on other types of instances is invalid and results in undefined
- * behaviour.
- *
- * \todo Replace this function with an iterator-based API
- *
- * \return A vector of string as the member names
- */
-std::vector<std::string> YamlObject::memberNames() const
-{
-	std::vector<std::string> memberNames;
-	for (auto &[key, _] : dictionary_)
-		memberNames.push_back(key);
-
-	return memberNames;
-}
-
 /**
  * \fn YamlObject::operator[](const std::string &key) const
  * \brief Retrieve a member by name from the dictionary
diff --git a/test/yaml-parser.cpp b/test/yaml-parser.cpp
index ab6e9a01c0fe..38f848232fa6 100644
--- a/test/yaml-parser.cpp
+++ b/test/yaml-parser.cpp
@@ -500,16 +500,6 @@ protected:
 		/* Make sure utils::map_keys() works on the adapter. */
 		(void)utils::map_keys(dictObj.asDict());
 
-		auto memeberNames = dictObj.memberNames();
-		sort(memeberNames.begin(), memeberNames.end());
-
-		if (memeberNames[0] != "a" ||
-		    memeberNames[1] != "b" ||
-		    memeberNames[2] != "c") {
-			cerr << "Dictionary object fail to parse member names" << std::endl;
-			return TestFail;
-		}
-
 		/* Test leveled objects */
 		auto &level1Obj = (*root)["level1"];
 
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list