50 lines
1.1 KiB
C++

#pragma once
#include <string>
#include "StreamClient.h"
#include <map>
#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<int, string> m_dataTypeMp;
FuncTest m_funcTest;
};