summaryrefslogtreecommitdiffstats
path: root/src/utl_yaml.cpp
diff options
context:
space:
mode:
authorimarom <imarom@cisco.com>2016-06-29 15:39:46 +0300
committerimarom <imarom@cisco.com>2016-07-03 13:40:21 +0300
commit4242bc5ec3aa8816db9bdd57bd1f732da4305555 (patch)
tree333271e4c8977eae545a2d4652ec9ad392124a2a /src/utl_yaml.cpp
parent1dfd42ceb79677e171d5dedcac34900776574000 (diff)
client configuration: refactoring
Diffstat (limited to 'src/utl_yaml.cpp')
-rwxr-xr-xsrc/utl_yaml.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/utl_yaml.cpp b/src/utl_yaml.cpp
index 22772ffe..444031c6 100755
--- a/src/utl_yaml.cpp
+++ b/src/utl_yaml.cpp
@@ -250,6 +250,15 @@ YAMLParserWrapper::parse_ip(const YAML::Node &node, const std::string &name) {
}
uint64_t
+YAMLParserWrapper::parse_mac_addr(const YAML::Node &node, const std::string &name, uint64_t def) {
+ if (!node.FindValue(name)) {
+ return def;
+ }
+
+ return parse_mac_addr(node, name);
+}
+
+uint64_t
YAMLParserWrapper::parse_mac_addr(const YAML::Node &node, const std::string &name) {
std::string mac_str;
@@ -275,6 +284,15 @@ YAMLParserWrapper::parse_mac_addr(const YAML::Node &node, const std::string &nam
}
uint64_t
+YAMLParserWrapper::parse_uint(const YAML::Node &node, const std::string &name, uint64_t low, uint64_t high, uint64_t def) {
+ if (!node.FindValue(name)) {
+ return def;
+ }
+
+ return parse_uint(node, name, low, high);
+}
+
+uint64_t
YAMLParserWrapper::parse_uint(const YAML::Node &node, const std::string &name, uint64_t low, uint64_t high) {
try {
@@ -310,3 +328,11 @@ YAMLParserWrapper::parse_err(const std::string &err, const YAML::Node &node) con
throw std::runtime_error(ss.str());
}
+void
+YAMLParserWrapper::parse_err(const std::string &err) const {
+ std::stringstream ss;
+
+ ss << "\n*** '" << m_header << "' - YAML parsing error: " << err;
+
+ throw std::runtime_error(ss.str());
+}