GrpcPrint/PrintC/DataManage/DataHandle.h
2024-05-09 12:49:18 +08:00

65 lines
1.5 KiB
C++

#pragma once
#include <string>
#include "StreamClient.h"
#include "../Machine/Machine.h"
#include "../UI/UIBean.h"
#include "../UI/Controller.h"
class DataHandle{
typedef void (*DataCallBack)(void* pthis, const ReadData& msg);
public:
static DataHandle* Instance() {
static DataHandle dh;
return &dh;
}
void Init();
static void DataCallBackProc(void* pthis, const ReadData& msg);
//void SetPushMsg(WriteData* msg) {
// if (m_streamClient) {
// m_streamClient->SetPushMsg(msg);
// }
//}
void SetPushMsg(WRITETYPE dataType) {
if (m_streamClient) {
WriteData msg;
msg.dataType = dataType;
msg.valueType = DATATYPE::UNKNOW;
m_streamClient->SetPushMsg(msg);
}
}
void SetPushMsg(WRITETYPE dataType,const string& nameKey,const string& strValue = "", DATATYPE valueType= UNKNOW) {
if (m_streamClient) {
WriteData msg ;
msg.dataType = dataType;
msg.nameKey = nameKey;
msg.strValue = strValue;
msg.valueType = valueType;
m_streamClient->SetPushMsg(msg);
}
}
string GetVersion()const {return m_version;}
Controller* GetController() {
return m_controller;
}
private:
DataHandle();
virtual ~DataHandle();
DataHandle(const DataHandle& d) = delete;
DataHandle& operator = (const DataHandle& d) = delete;
void DataCallBackHandle(const ReadData& msg);
void UpdateSysParam(const ReadData& msg);
private:
DataCallBack m_dataCallBack;
StreamClient* m_streamClient;
string m_version; //软件版本
Controller* m_controller;
};