#pragma once #include #include "StreamClient.h" #include using namespace std; class DataHandle{ typedef void (*DataCallBack)(void* pthis, const ReadData& msg); public: DataHandle(); virtual ~DataHandle(); DataHandle(const DataHandle& d) = delete; DataHandle& operator = (const DataHandle& d) = delete; void Init(); void Stop(); static void DataCallBackProc(void* pthis, const ReadData& msg); void PushMsg(WRITETYPE dataType, const string& nameKey = "", const string& strValue = "", DATATYPE valueType = UNKNOW); string GetVersion()const {return m_version;} void ParamRequest(int index); int Request(int index); void AllTest(); void AxisMoveTest(); //轴运动测试 void ScanCtrlTest(); //扫描控制测试 void RegistrationTest(); //注册功能测试 void CameraTest(); //相机功能测试 void PurifierTest(); //净化器功能测试 void UpdateParam(const string& input); void Usage(); void ParamReadUsage(); int GetPrintParam() const {return m_printIndex;} private: void DataCallBackHandle(const ReadData& msg); void PrintValue(const ReadData& msg); private: DataCallBack m_dataCallBack; StreamClient* m_streamClient; string m_version; //软件版本 int m_printIndex; //命令编号 map m_dataTypeMp; };