#pragma once #include "CHReviewResult/GlassResult.h" #include "ModuleStatus.h" #include "ConnectionStatus.h" class CObserverInterface { public: CObserverInterface(void); virtual ~CObserverInterface(void); void ClearAllObserverVector(); /*< LYW 20211112 - #3708 ADD Start >*/ void ClearCameraControlObserverVector(); /*< LYW 20211112 - #3708 ADD End >*/ // Map Option void UpdateDefectFilter(const SDefectFilter* pDefectFilter); void AddObserverUpdateDefectFilter(IUpdateDefectFilter* const pIU); // Review Result void UpdateReviewResult(int nModuleIndex, const CGlassResult* pGlassResult, int nPlanIndex=0); void AddObserverUpdateReviewResult(IUpdateReviewResult* const pIU); // Process Status void UpdateProcessStatus(int nLineType, int nMachineType, int nProcessStatus, const CGlassResult* pGlassResult); void AddObserverUpdateProcessStatus(IUpdateProcessStatus* const pIU); // camera status void UpdateCameraControl(int nModuleIndex, const SCameraControl *pCameraControl, const SCameraInfo* pCameraInfo); void AddObserverUpdateCameraControl(IUpdateCameraControl* const pIU); // motor position void UpdateMotorPosition(int nModuleIndex, BOOL bSelected, const SMotorPosition *pMotorPosition); void AddObserverUpdateMotorPosition(IUpdateMotorPosition* const pIU); // motor status void UpdateMotorStatus(int nModuleIndex, const SMotorStatus *pMotorStatus); void AddObserverUpdateMotorStatus(IUpdateMotorStatus* const pIU); // PCControl IO signal void UpdateSignalIOStatus(const SSignalIOStatus *pSignalIOStatus); void AddObserverUpdatePCControlIOSignal(IUpdatePCControlIOSignal* const pIU); // connection status void UpdateConnectionStatus(const CConnectionStatus* pConnectionStatus); void AddObserverUpdateConnectionStatus(IUpdateConnectionStatus* const pIU); // selected module index void UpdateSelectedModuleIndex(int nModuleIndex, const CModuleStatus* pModuleStatus); void AddObserverUpdateSelectedModuleIndex(IUpdateSelectedModuleIndex* const pIU); // theta motor info void UpdateThetaMotorInfo(const SThetaMotorInfo* pThetaMotorInfo); void AddObserverUpdateThetaMotorInfo(IUpdateThetaMotorInfo* const pIU); // review process void UpdateReviewProcessStatus(int nReviewStatus, int nPlanIndex=0); void AddObserverUpdateReviewProcessStatus(IUpdateReviewProcessStatus* const pIU); void UpdateDefocusList(); void AddObserverUpdateDefocusList(IUpdateDefocusList* const pIU); protected: ObserverUpdateProcessStatus m_obsUpdateProcessStatus; ObserverUpdateCameraControl m_obsUpdateCameraControl; ObserverUpdateMotorPosition m_obsUpdateMotorPosition; ObserverUpdateMotorStatus m_obsUpdateMotorStatus; ObserverUpdatePCControlIOSignal m_obsUpdatePCControlIOSignal; ObserverUpdateDefectFilter m_obsUpdateDefectFilter; ObserverUpdateConnectionStatus m_obsUpdateConnectionStatus; ObserverUpdateReviewResult m_obsUpdateReviewResult; ObserverUpdateThetaMotorInfo m_obsUpdateThetaMotorInfo; ObserverUpdateSelectedModuleIndex m_obsUpdateSelectedModuleIndex; ObserverUpdateReviewProcessStatus m_obsUpdateReviewProcessStatus; ObserverUpdateDefocusList m_obsUpdateDefocusList; };