#pragma once #include "Global_Define.h" class CScheduleViewMessage { public: CScheduleViewMessage(){Reset();} virtual ~CScheduleViewMessage(){;} void Reset() { ZeroMemory(&ProcMsg,sizeof(PROG_MSG)); } PROG_MSG ProcMsg; }; interface IViewRefreshInterface2Parent { virtual void Send_ViewRefresh(CScheduleViewMessage *pMSG) = 0; }; class CThread_ViewRefresh : public CTimerThreadPool { public: CThread_ViewRefresh(DWORD dwPeriod=50); virtual ~CThread_ViewRefresh(void); public: BOOL CreateThread(); void SetIN2P(IViewRefreshInterface2Parent *pV2M){m_pV2M=pV2M;} std::vector *GetVecScheduleViewMSG(){return &m_VecScheduleViewMSG;} int AddViewMSG(int nJobIndex,int nSide,int nState,int nDispLine); BOOL ClearViewMSG(); protected: virtual void TimerThreadProcess(PVOID pParameter); protected: IViewRefreshInterface2Parent *m_pV2M; CCriticalSection m_csViewMSG; std::vector m_VecScheduleViewMSG; };