QBaseClient.hh

Go to the documentation of this file.
00001 
00002 #ifndef _Q_BASE_CLIENT_HH_
00003 #define _Q_BASE_CLIENT_HH_
00004 
00005 #include "QCuore.hh"
00006 #include "QApolloSocketClient.hh"
00007 #include "QError.hh"
00008 
00009 #include <string>
00010 #include <list>
00011 
00012 class QNwMessageBuilder;
00013 
00022 class QBaseClient: protected QApolloSocketClient
00023 {
00024 public:
00025 
00027    virtual ~QBaseClient();
00028    
00035    void SetConnectionMode(bool alwaysOpen) { fConnMode = alwaysOpen;}
00036 
00042    bool GetConnectionMode() const { return fConnMode; }
00043 
00045    const QError& GetError() const { return fError; }
00046    
00047 protected:
00056    QBaseClient(const std::string& serverType);
00057 
00063    QBaseClient(const std::string& address, const std::string& port);
00064 
00071    bool   fConnMode;
00072 
00073    QError fError;
00074 
00084    bool GetInt(const std::string& name, int& val);
00085 
00095    bool GetBool(const std::string& name, bool& val);
00096 
00106    bool GetDouble(const std::string& name, double& val);
00107    
00117    bool GetString(const std::string& name, std::string& val);
00118 
00124    bool GetParList(const std::string& name, std::list<std::string>& values);
00125 
00127    bool   IsParamDefined (const std::string& name);
00128 
00135    bool ExecCommand(const QNwMessageBuilder& builder, std::string& answer);
00136 
00137 private:
00138    
00144    std::map<std::string, std::list<std::string> > fAnswerMap;
00145 
00150    void ProcessAnswer(std::string answer);
00151 
00153    void BuildError();
00154 
00155 };
00156 
00157 #endif

Generated on Tue Nov 16 10:49:55 2010 for CUORE Software by  doxygen 1.5.6