diff -r 7ffbca63fc72 -r 59be91dfcbe1 tool/Command.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool/Command.cpp Thu Jul 24 13:27:06 2008 +0000 @@ -0,0 +1,81 @@ +/***************************************************************************** + * + * $Id$ + * + ****************************************************************************/ + +#include "Command.h" + +/*****************************************************************************/ + +Command::Command(const string &name, const string &briefDesc): + name(name), + briefDesc(briefDesc), + verbosity(Normal) +{ +} + +/*****************************************************************************/ + +Command::~Command() +{ +} + +/*****************************************************************************/ + +void Command::setVerbosity(Verbosity v) +{ + verbosity = v; +}; + +/****************************************************************************/ + +bool Command::matchesSubstr(const string &cmd) const +{ + return name.substr(0, cmd.length()) == cmd; +} + +/****************************************************************************/ + +bool Command::matchesAbbrev(const string &abb) const +{ + unsigned int i; + size_t pos = 0; + + for (i = 0; i < abb.length(); i++) { + pos = name.find(abb[i], pos); + if (pos == string::npos) + return false; + } + + return true; +} + +/*****************************************************************************/ + +void Command::throwInvalidUsageException(const stringstream &s) +{ + throw InvalidUsageException(s); +} + +/*****************************************************************************/ + +void Command::throwCommandException(const stringstream &s) +{ + throw CommandException(s); +} + +/*****************************************************************************/ + +string Command::numericInfo() +{ + stringstream str; + + str << "Numerical values can be specified either with decimal (no" << endl + << "prefix), octal (prefix '0') or hexadecimal (prefix '0x') base." + << endl; + + return str.str(); +} + +/****************************************************************************/