#pragma once #include "BaseClient.h" //#include "../config/ConfigManager.h" #include #include "../config/bean/ExtCfg.h" #pragma pack(1) class Oxygenstat { public: explicit Oxygenstat() : concentrationValue(new FloatData("concentrationValue",u8"浓度值")) , valueUnit(new StrData("valueUnit",u8"浓度单位")) , scale(new IntData("scale",u8"数值放大倍数",1)) , tempValue(new FloatData("tempValue",u8"温度值")) , humidityValue(new FloatData("humidityValue",u8"湿度值")) , concentrationAgValue(new FloatData("concentrationAgValue",u8"模拟量")) { //concentrationValue = 0.0f; //valueUnit = ""; //scale = 1; //tempValue = 0.0f; //humidityValue = 0.0f; //concentrationAgValue = 0.0f; } public: BaseStat baseStat; char m_startFlag; FloatData* concentrationValue; //浓度值 StrData* valueUnit; //浓度单位 IntData* scale; //数值放大倍数 FloatData* tempValue; //温度值 FloatData* humidityValue; //湿度值 FloatData* concentrationAgValue; //模拟量 char m_endFlag; }; #pragma pack() class OxygenClient :public TcpClient { public: OxygenClient(CommunicationCfg* pconfig); ~OxygenClient(); void GetOxygenStat(unsigned char addr, Oxygenstat& stat); void GetOxygenStat(Oxygenstat& stat1, Oxygenstat& stat2, Oxygenstat& stat3); void InitCommand(); protected: virtual void ServerDisconnectProc(); virtual void WriteSuccessProc(int wlength, unsigned char* buffer, Command* pcommand); virtual void WriteTimeoutProc(Command* pcommand); virtual void ReadTimeoutProc(Command* pcommand); virtual void ReadSuccessProc(int rlength, unsigned char* buffer, Command* pcommand); //void AddToBaseMp(const string& suff, Oxygenstat* stat); private: void static PorcOxygenValue(void* pobject, Command* pcommand); void static ProcPointInfo(void* pobject, Command* pcommand); void static PorcConcentrationValue(void* pobject, Command* pcommand); void static ProcTempInfo(void* pobject, Command* pcommand); void static ProcNewVersion(void* pobject, Command* pcommand); private: map m_Oxygens; ExtCfg* m_ExtCfg; //vector m_PurifierOxygenCommands; //map m_Oxygens; };