81 lines
2.2 KiB
C++
81 lines
2.2 KiB
C++
#pragma once
|
|
#include "../config/bean/ExtCfg.h"
|
|
#include "../LanguageManager.h"
|
|
#include <windows.h>
|
|
#include "../config/bean/IOCfg.h"
|
|
#include "../config/bean/AlarmCfg.h"
|
|
#include "../Communication/BaseData.h"
|
|
|
|
enum PurifierFunc {
|
|
STARTAUTODEOXYGEN = 0,
|
|
STOPAUTODEOXYGEN,
|
|
};
|
|
|
|
class BasePurifier
|
|
{
|
|
public:
|
|
BasePurifier();
|
|
virtual ~BasePurifier();
|
|
|
|
virtual void Init() = 0;
|
|
virtual void UpdateShowStat() = 0;
|
|
|
|
virtual void StartAutoDeoxygen() = 0;
|
|
virtual void StopAutoDeoxygen() = 0;
|
|
virtual bool IsAutoDeoxygen() = 0; //判断的参数已传过去了,不需要在这里调用了
|
|
virtual void AutoCtrl() = 0;
|
|
virtual void AutoCtrlWhenPrint() = 0;
|
|
virtual void AutoCtrlWhenDoorOpen() = 0;
|
|
virtual void AutoCtrlWhenStanby() = 0;
|
|
virtual void HandlePrintFinish() = 0;
|
|
virtual bool HandleReadyPrint(bool startAfterPause, unsigned int& deoxytime) = 0;
|
|
virtual void HandlePrintStop() = 0;
|
|
|
|
virtual double GetWindValue(double dvalue) { return dvalue; }
|
|
//virtual void DrawUI() = 0;
|
|
virtual void DrawConfig() {};
|
|
virtual string GetWindText() { return _(u8"循环风速:%.2f m/s"); } //客户端自己控制
|
|
virtual bool IsConnectAlarm() { return false; }
|
|
//MachineCfg::PulifierType GetType() {
|
|
// return m_Type;
|
|
//}
|
|
|
|
virtual bool IsWindActive() { return false; }
|
|
virtual bool IsCoverWindSet() { return false; }
|
|
virtual void SetCoverWind(bool bvalue) {}
|
|
virtual bool IsCoverWindRecover() { return true; }
|
|
virtual bool IsCoverWindSlow() { return true; }
|
|
virtual void ResetSlowWind() {}
|
|
virtual void ResetSlwoWindSignal(bool precover){}
|
|
|
|
void Startup();
|
|
|
|
virtual float GetFanFreq() { return 0.0f; }
|
|
virtual void CheckInternalAlarm() {}
|
|
|
|
virtual void DrawFinishReportRel() {}
|
|
virtual int GetFilterUseTime() { return 0; }
|
|
virtual void SendToClients() {}
|
|
|
|
virtual void SetParam(const ReadData& msg) {}
|
|
|
|
void CallFunc(const ReadData& rd, ::stream::ResponseAny** response = nullptr);
|
|
private:
|
|
static DWORD WINAPI WorkProc(BasePurifier* _this);
|
|
void WorkRun();
|
|
|
|
public:
|
|
bool m_PurifierWinShow; //不传 客户端自己控制
|
|
|
|
protected:
|
|
ExtCfg* m_ExtCfg;
|
|
HANDLE m_Thread;
|
|
bool m_RunFlag;
|
|
IOCfgWrapper* m_IOCfgWrapper;
|
|
AlarmCfgWrapper* m_AlarmCfgWrapper;
|
|
int m_CycleTick;
|
|
//MachineCfg::PulifierType m_Type;
|
|
|
|
};
|
|
|