2024-06-27 10:56:50 +08:00

56 lines
1.5 KiB
C++

#pragma once
#include <string>
#include "StreamClient.h"
#include <map>
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, DATAHANDLE handleType = UPDATE);
void PushMsg(const WriteData& wd);
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 ConfigTest(); //配置功能测试
void UpdateParamToService(const string& input);
void Usage();
void ParamReadUsage();
int GetPrintParam() const {return m_printIndex;}
private:
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<int, string> m_dataTypeMp;
};