#pragma once #include "../config/bean/ExtCfg.h" #include "../LanguageManager.h" #include #include "../config/bean/IOCfg.h" #include "../config/bean/AlarmCfg.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; } 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; };