QCommand.hh Go to the documentation of this file. 00001
00002 #ifndef _QCOMMAND_HH_
00003 #define _QCOMMAND_HH_
00004
00005 #include <string>
00006 #include <map>
00007 #include <list>
00008
00009 #include "QCuore.hh"
00010
00011 class QError ;
00012
00022 class QCommand
00023 {
00024 public :
00025
00027 QCommand ();
00028
00030 virtual ~QCommand ();
00031
00036 bool IsValid () const { return !fHasError ; }
00037
00039 const std::map<std::string, std::list<std::string> >& GetAnswerMap () const
00040 { return fAnswerMap ; }
00041
00051 virtual void Execute () = 0;
00052
00062 virtual void CheckParams () = 0;
00063
00064 protected :
00065
00067 const std::string& GetModifier () const { return fModifier ; }
00068
00070 void SetError (const QError & err);
00071
00081 bool GetBool (const std::string& name, bool & val) const ;
00082
00089 bool GetBoolList (const std::string& name, std::list<bool>& values) const ;
00090
00100 bool GetInt (const std::string& name, int & val) const ;
00101
00108 bool GetIntList (const std::string& name, std::list<int>& values) const ;
00109
00119 bool GetDouble (const std::string& name, double & val) const ;
00120
00127 bool GetDoubleList (const std::string& name,
00128 std::list<double>& values) const ;
00129
00139 bool GetString (const std::string& name, std::string& val) const ;
00140
00147 bool GetStringList (const std::string& name,
00148 std::list<std::string>& values) const ;
00149
00151 bool IsParamDefined (const std::string& name) const ;
00152
00154 const std::map<std::string, std::list<std::string> >& GetParMap () const
00155 { return fParamMap ; }
00156
00157
00167 bool AddBoolToAnswer (const std::string& parName, bool val);
00168
00174 bool AddIntToAnswer (const std::string& parName, int val);
00175
00181 bool AddDoubleToAnswer (const std::string& parName, double val);
00182
00188 bool AddStringToAnswer (const std::string& parName,
00189 const std::string& val);
00190
00199 bool AddToAnswer (const std::string& parName,
00200 const std::list<std::string>& values);
00201
00203 bool SetSuccess () { return AddBoolToAnswer ("success" , true ); }
00204
00205 private :
00206
00207 std::string fModifier ;
00208 bool fHasError ;
00211 std::map <std::string, std::list<std::string> > fParamMap ;
00212
00218 std::map <std::string, std::list<std::string> > fAnswerMap ;
00219
00221 void Reset ();
00222
00224 void SetModifier (const std::string& mod) { fModifier = mod; }
00225
00232 void SetParams (const std::map<std::string, std::list<std::string> >& parMap)
00233 { fParamMap = parMap; }
00234
00235 friend class QBaseCmdParser ;
00236 };
00237 #endif
In questo sito non sono utilizzati cookie per la profilazione degli utenti. Utilizza cookie di sessione, necessari per il corretto funzionamento dello stesso e per gestire l'autenticazione ai servizi on-line, alla intranet e alle aree riservate...
leggi tutto Più info OK