From 23a83deb4fa93c0e7c0482a10793a7be2a472239 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sat, 22 Oct 2011 22:57:44 +0900 Subject: Renamed NameMatchOptionHandler as AbstractOptionHandler. --- src/AbstractOptionHandler.cc | 96 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 src/AbstractOptionHandler.cc (limited to 'src/AbstractOptionHandler.cc') diff --git a/src/AbstractOptionHandler.cc b/src/AbstractOptionHandler.cc new file mode 100644 index 00000000..d9b17202 --- /dev/null +++ b/src/AbstractOptionHandler.cc @@ -0,0 +1,96 @@ +/* */ +#include "AbstractOptionHandler.h" + +#include + +#include "OptionHandlerException.h" +#include "a2functional.h" +#include "Option.h" +#include "prefs.h" + +namespace aria2 { + +AbstractOptionHandler::AbstractOptionHandler +(const Pref* pref, + const std::string& description, + const std::string& defaultValue, + ARG_TYPE argType, + char shortName) + : pref_(pref), + description_(description), + defaultValue_(defaultValue), + argType_(argType), + shortName_(shortName), + hidden_(false), + eraseAfterParse_(false), + initialOption_(false), + changeOption_(false), + globalChangeOption_(false), + cumulative_(false) +{} + +AbstractOptionHandler::~AbstractOptionHandler() {} + +void AbstractOptionHandler::parse(Option& option, const std::string& arg) +{ + try { + parseArg(option, arg); + } catch(Exception& e) { + throw OPTION_HANDLER_EXCEPTION2(pref_, e); + } +} + +bool AbstractOptionHandler::hasTag(const std::string& tag) const +{ + return std::find(tags_.begin(), tags_.end(), tag) != tags_.end(); +} + +void AbstractOptionHandler::addTag(const std::string& tag) +{ + tags_.push_back(tag); +} + +std::string AbstractOptionHandler::toTagString() const +{ + return strjoin(tags_.begin(), tags_.end(), ", "); +} + +const std::string& AbstractOptionHandler::getName() const +{ + return pref_->k; +} + +} // namespace aria2 -- cgit