--- /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();
+}
+
+/****************************************************************************/