tool/Command.h
changeset 1151 1fc1535dec29
parent 1146 f18d124d7fbc
child 1155 bd4e5b544473
--- a/tool/Command.h	Fri Jul 25 14:14:47 2008 +0000
+++ b/tool/Command.h	Fri Jul 25 14:19:29 2008 +0000
@@ -9,6 +9,7 @@
 
 #include <stdexcept>
 #include <vector>
+#include <list>
 using namespace std;
 
 #include "MasterDevice.h"
@@ -16,7 +17,6 @@
 /*****************************************************************************/
 
 extern unsigned int masterIndex;
-extern int slavePosition;
 extern int domainIndex;
 extern string dataTypeStr;
 extern bool force;
@@ -57,16 +57,20 @@
         Command(const string &, const string &);
 		virtual ~Command();
 
+        const string &getName() const;
+        const string &getBriefDescription() const;
+
         enum Verbosity {
             Quiet,
             Normal,
             Verbose
         };
         void setVerbosity(Verbosity);
-
-        const string &getName() const;
-        const string &getBriefDescription() const;
 		Verbosity getVerbosity() const;
+        void setAlias(int);
+        int getAlias() const;
+        void setPosition(int);
+        int getPosition() const;
 
         bool matchesSubstr(const string &) const;
         bool matchesAbbrev(const string &) const;
@@ -79,17 +83,22 @@
         static string numericInfo();
 
     protected:
+		enum {BreakAfterBytes = 16};
+
         void throwInvalidUsageException(const stringstream &);
         void throwCommandException(const stringstream &);
 
-		enum {BreakAfterBytes = 16};
-        
+        typedef list<ec_ioctl_slave_t> SlaveList;
+        SlaveList selectedSlaves(MasterDevice &);
+
         static string alStateString(uint8_t);
 
     private:
 		string name;
         string briefDesc;
         Verbosity verbosity;
+        int alias;
+        int position;
 
         Command();
 };
@@ -117,4 +126,18 @@
 
 /****************************************************************************/
 
+inline int Command::getAlias() const
+{
+    return alias;
+}
+
+/****************************************************************************/
+
+inline int Command::getPosition() const
+{
+    return position;
+}
+
+/****************************************************************************/
+
 #endif