diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-05-23 19:24:09 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-06-16 02:43:46 +0300 |
commit | 27483e971fb43c0874b8399e7431dd805efa3994 (patch) | |
tree | e59c11953c8a820ff61f6e031463c0e9ea69afcd | |
parent | 1735d176bc6139ae76dae0c84ab15bda5884764d (diff) |
libcamera: yaml_object: Turn Type into an enum class
Turn the Type enum into an enum class to force qualifying 'List' and
'Dictionary' in the YamlObject namespace scope. This will help avoiding
ambiguities when adding iterator support.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
-rw-r--r-- | include/libcamera/internal/yaml_parser.h | 8 | ||||
-rw-r--r-- | src/libcamera/yaml_parser.cpp | 32 |
2 files changed, 20 insertions, 20 deletions
diff --git a/include/libcamera/internal/yaml_parser.h b/include/libcamera/internal/yaml_parser.h index 3a4f3052..e002fcf5 100644 --- a/include/libcamera/internal/yaml_parser.h +++ b/include/libcamera/internal/yaml_parser.h @@ -28,15 +28,15 @@ public: bool isValue() const { - return type_ == Value; + return type_ == Type::Value; } bool isList() const { - return type_ == List; + return type_ == Type::List; } bool isDictionary() const { - return type_ == Dictionary; + return type_ == Type::Dictionary; } #ifndef __DOXYGEN__ @@ -65,7 +65,7 @@ private: friend class YamlParserContext; - enum Type { + enum class Type { Dictionary, List, Value, diff --git a/src/libcamera/yaml_parser.cpp b/src/libcamera/yaml_parser.cpp index 92fedaeb..4b5ea427 100644 --- a/src/libcamera/yaml_parser.cpp +++ b/src/libcamera/yaml_parser.cpp @@ -47,7 +47,7 @@ void setOk(bool *ok, bool result) */ YamlObject::YamlObject() - : type_(Value) + : type_(Type::Value) { } @@ -99,7 +99,7 @@ bool YamlObject::get(const bool &defaultValue, bool *ok) const { setOk(ok, false); - if (type_ != Value) + if (type_ != Type::Value) return defaultValue; if (value_ == "true") { @@ -118,7 +118,7 @@ int32_t YamlObject::get(const int32_t &defaultValue, bool *ok) const { setOk(ok, false); - if (type_ != Value) + if (type_ != Type::Value) return defaultValue; if (value_ == "") @@ -141,7 +141,7 @@ uint32_t YamlObject::get(const uint32_t &defaultValue, bool *ok) const { setOk(ok, false); - if (type_ != Value) + if (type_ != Type::Value) return defaultValue; if (value_ == "") @@ -175,7 +175,7 @@ double YamlObject::get(const double &defaultValue, bool *ok) const { setOk(ok, false); - if (type_ != Value) + if (type_ != Type::Value) return defaultValue; if (value_ == "") @@ -198,7 +198,7 @@ std::string YamlObject::get(const std::string &defaultValue, bool *ok) const { setOk(ok, false); - if (type_ != Value) + if (type_ != Type::Value) return defaultValue; setOk(ok, true); @@ -210,7 +210,7 @@ Size YamlObject::get(const Size &defaultValue, bool *ok) const { setOk(ok, false); - if (type_ != List) + if (type_ != Type::List) return defaultValue; if (list_.size() != 2) @@ -248,7 +248,7 @@ Size YamlObject::get(const Size &defaultValue, bool *ok) const */ std::size_t YamlObject::size() const { - if (type_ != List) + if (type_ != Type::List) return 0; return list_.size(); @@ -266,7 +266,7 @@ std::size_t YamlObject::size() const */ const YamlObject &YamlObject::operator[](std::size_t index) const { - if (type_ != List || index >= size()) + if (type_ != Type::List || index >= size()) return empty; return *list_[index]; @@ -326,7 +326,7 @@ std::vector<std::string> YamlObject::memberNames() const */ const YamlObject &YamlObject::operator[](const std::string &key) const { - if (type_ != Dictionary || !contains(key)) + if (type_ != Type::Dictionary || !contains(key)) return empty; auto iter = dictionary_.find(key); @@ -510,7 +510,7 @@ int YamlParserContext::parseDictionaryOrList(YamlObject::Type type, const std::function<int(EventPtr event)> &parseItem) { yaml_event_type_t endEventType = YAML_SEQUENCE_END_EVENT; - if (type == YamlObject::Dictionary) + if (type == YamlObject::Type::Dictionary) endEventType = YAML_MAPPING_END_EVENT; /* @@ -554,22 +554,22 @@ int YamlParserContext::parseNextYamlObject(YamlObject &yamlObject, EventPtr even switch (event->type) { case YAML_SCALAR_EVENT: - yamlObject.type_ = YamlObject::Value; + yamlObject.type_ = YamlObject::Type::Value; readValue(yamlObject.value_, std::move(event)); return 0; case YAML_SEQUENCE_START_EVENT: { - yamlObject.type_ = YamlObject::List; + yamlObject.type_ = YamlObject::Type::List; auto &list = yamlObject.list_; auto handler = [this, &list](EventPtr evt) { list.emplace_back(new YamlObject()); return parseNextYamlObject(*list.back(), std::move(evt)); }; - return parseDictionaryOrList(YamlObject::List, handler); + return parseDictionaryOrList(YamlObject::Type::List, handler); } case YAML_MAPPING_START_EVENT: { - yamlObject.type_ = YamlObject::Dictionary; + yamlObject.type_ = YamlObject::Type::Dictionary; auto &dictionary = yamlObject.dictionary_; auto handler = [this, &dictionary](EventPtr evtKey) { /* Parse key */ @@ -592,7 +592,7 @@ int YamlParserContext::parseNextYamlObject(YamlObject &yamlObject, EventPtr even auto elem = dictionary.emplace(key, std::make_unique<YamlObject>()); return parseNextYamlObject(*elem.first->second.get(), std::move(evtValue)); }; - return parseDictionaryOrList(YamlObject::Dictionary, handler); + return parseDictionaryOrList(YamlObject::Type::Dictionary, handler); } default: |