tool/Command.cpp
changeset 1142 59be91dfcbe1
child 1144 7dbfdd61812c
--- /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();
+}
+
+/****************************************************************************/