#pragma once #include #include "StreamClient.h" #include #include "FuncTest.h" using namespace std; class DataHandle{ typedef void (*DataCallBack)(void* pthis, const ReadData& msg); public: DataHandle(); virtual ~DataHandle(); void Init(); void Stop(); static void DataCallBackProc(void* pthis, const ReadData& msg); string GetVersion()const {return m_version;} void ReceiveParam(int index); int Request(int index); void UpdateParamToServer(const string& input); void Usage(); void ParamReadUsage(); int GetPrintParam() const {return m_printIndex;} private: void PushMsg(WRITETYPE dataType, const string& nameKey = "", const string& strValue = "", DATATYPE valueType = UNKNOW, DATAHANDLE handleType = UPDATE); void PushMsg(const WriteData& wd); void DataCallBackHandle(const ReadData& msg); void PrintValue(const ReadData& msg); void PrintScanerCfg(const stream::ScannerCrtlCfgResp& result); //打印config的特殊配置 private: DataCallBack m_dataCallBack; StreamClient* m_streamClient; string m_version; //软件版本 int m_printIndex; //命令编号 map m_dataTypeMp; FuncTest m_funcTest; };