#pragma once #include #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) { 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; };