diff options
author | imarom <imarom@cisco.com> | 2016-06-29 15:39:46 +0300 |
---|---|---|
committer | imarom <imarom@cisco.com> | 2016-07-03 13:40:21 +0300 |
commit | 4242bc5ec3aa8816db9bdd57bd1f732da4305555 (patch) | |
tree | 333271e4c8977eae545a2d4652ec9ad392124a2a /src/utl_yaml.cpp | |
parent | 1dfd42ceb79677e171d5dedcac34900776574000 (diff) |
client configuration: refactoring
Diffstat (limited to 'src/utl_yaml.cpp')
-rwxr-xr-x | src/utl_yaml.cpp | 26 |
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()); +} |