GrpcPrint/PrintC/Purifier/BasePurifier.h

74 lines
1.9 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"
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 void BlowBackNotiry(){}
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() {}
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;
};