69 |
69 |
70 class Command |
70 class Command |
71 { |
71 { |
72 public: |
72 public: |
73 Command(const string &, const string &); |
73 Command(const string &, const string &); |
74 virtual ~Command(); |
74 virtual ~Command(); |
75 |
75 |
76 const string &getName() const; |
76 const string &getName() const; |
77 const string &getBriefDescription() const; |
77 const string &getBriefDescription() const; |
78 |
78 |
79 enum Verbosity { |
79 enum Verbosity { |
80 Quiet, |
80 Quiet, |
81 Normal, |
81 Normal, |
82 Verbose |
82 Verbose |
83 }; |
83 }; |
84 void setVerbosity(Verbosity); |
84 void setVerbosity(Verbosity); |
85 Verbosity getVerbosity() const; |
85 Verbosity getVerbosity() const; |
86 void setAlias(int); |
86 void setAlias(int); |
87 int getAlias() const; |
87 int getAlias() const; |
88 void setPosition(int); |
88 void setPosition(int); |
89 int getPosition() const; |
89 int getPosition() const; |
90 void setDomain(int); |
90 void setDomain(int); |
91 int getDomain() const; |
91 int getDomain() const; |
92 void setDataType(const string &); |
92 void setDataType(const string &); |
93 const string &getDataType() const; |
93 const string &getDataType() const; |
94 void setForce(bool); |
94 void setForce(bool); |
95 bool getForce() const; |
95 bool getForce() const; |
96 void setOutputFile(const string &); |
96 void setOutputFile(const string &); |
97 const string &getOutputFile() const; |
97 const string &getOutputFile() const; |
98 |
98 |
99 bool matchesSubstr(const string &) const; |
99 bool matchesSubstr(const string &) const; |
100 bool matchesAbbrev(const string &) const; |
100 bool matchesAbbrev(const string &) const; |
101 |
101 |
102 virtual string helpString() const = 0; |
102 virtual string helpString() const = 0; |
105 virtual void execute(MasterDevice &, const StringVector &) = 0; |
105 virtual void execute(MasterDevice &, const StringVector &) = 0; |
106 |
106 |
107 static string numericInfo(); |
107 static string numericInfo(); |
108 |
108 |
109 protected: |
109 protected: |
110 enum {BreakAfterBytes = 16}; |
110 enum {BreakAfterBytes = 16}; |
111 |
111 |
112 void throwInvalidUsageException(const stringstream &) const; |
112 void throwInvalidUsageException(const stringstream &) const; |
113 void throwCommandException(const stringstream &) const; |
113 void throwCommandException(const stringstream &) const; |
114 void throwSingleSlaveRequired(unsigned int) const; |
114 void throwSingleSlaveRequired(unsigned int) const; |
115 |
115 |