diff options
Diffstat (limited to 'src/OptionParser.cc')
| -rw-r--r-- | src/OptionParser.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/OptionParser.cc b/src/OptionParser.cc index 8aed0259..efa01514 100644 --- a/src/OptionParser.cc +++ b/src/OptionParser.cc @@ -245,6 +245,21 @@ void OptionParser::parse(Option& option, std::istream& is) const } } +void OptionParser::parse(Option& option, const KeyVals& options) const +{ + std::string line; + for(KeyVals::const_iterator i = options.begin(), eoi = options.end(); + i != eoi; ++i) { + const Pref* pref = option::k2p((*i).first); + const OptionHandler* handler = find(pref); + if(handler) { + handler->parse(option, (*i).second); + } else { + A2_LOG_WARN(fmt("Unknown option: %s", line.c_str())); + } + } +} + void OptionParser::setOptionHandlers (const std::vector<OptionHandler*>& handlers) { |
