tool/Command.h
changeset 1804 742607c464c4
parent 1363 11c0b2caa253
child 1826 ec6223c3b7ec
equal deleted inserted replaced
1803:5b04770444df 1804:742607c464c4
    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 
   121         DomainList selectedDomains(MasterDevice &);
   121         DomainList selectedDomains(MasterDevice &);
   122 
   122 
   123         static string alStateString(uint8_t);
   123         static string alStateString(uint8_t);
   124 
   124 
   125     private:
   125     private:
   126 		string name;
   126         string name;
   127         string briefDesc;
   127         string briefDesc;
   128         Verbosity verbosity;
   128         Verbosity verbosity;
   129         int alias;
   129         int alias;
   130         int position;
   130         int position;
   131 		int domain;
   131         int domain;
   132 		string dataType;
   132         string dataType;
   133 		bool force;
   133         bool force;
   134 		string outputFile;
   134         string outputFile;
   135 
   135 
   136         Command();
   136         Command();
   137 };
   137 };
   138 
   138 
   139 /****************************************************************************/
   139 /****************************************************************************/