#pragma once #include "WsiControl.h" #include "IOCPNetwork/IOCPNetwork2Parent.h" class CNetClient; class AFX_EXT_CLASS CWsiControl_Dit : public CWsiControl, public IIOCPNetwork2Parent { public: CWsiControl_Dit(int nIndex); virtual ~CWsiControl_Dit(void); virtual BOOL Connect(const CWsiControlInfo& controlInfo); virtual void Disconnect(); // interface virtual BOOL SetWsiReady(const CString& strGlassID, const CString& strRecipeID, int nMagIndex, int nType=WsiMode_None,int nAfmHome=1); virtual BOOL SetMultiShotWsiReady(const CString& strGlassID, const CString& strRecipeID, int nMagIndex, int nType=WsiMode_None,int nAfmHome=1,int nMultiShotFlag=0,int nShotCount=0,double dMargin=0); virtual BOOL SetWsiStart(int nPointCount, const VectorInteger& vecUMOriginX, const VectorInteger& vecUMOriginY, int nUserWsiType); virtual BOOL SetWsiStart_CPJT(int nPointCount, const VectorInteger& vecUMOriginX, const VectorInteger& vecUMOriginY, int nUserWsiType, const VectorInteger& nModelIndex); virtual BOOL SetMultiShotWsiStart(int nPointCount, const VectorInteger& vecUMOriginX, const VectorInteger& vecUMOriginY, int nUserWsiType,int nMeasurePoint,int nMeasureShotNumber); virtual BOOL SetWsiMotionEnd(int nResultIndex, int nUMOriginX, int nUMOriginY); virtual BOOL SetWsiEnd(); virtual BOOL SetWsiTimeOver(); virtual BOOL SetSystemTime(SYSTEMTIME stCurrentTime); virtual BOOL SetWsiReflowStart(int nPointCount, const VectorInteger& vectorPointIndex, const VectorInteger& vecUMOriginX, const VectorInteger& vecUMOriginY, int nWsiType=WsiMeasureType_Monomer); // 181129 SJB, Reflow WSI 추가 // getter virtual int GetConnected() const; virtual BOOL SendWsiAfmSafePosMove(); // net iocp 2 parent virtual void IOCPNet2P_Connected(int Type); virtual void IOCPNet2P_Disconnected(int Type, int nModuleNo = -1); virtual BOOL IOCPNet2P_Received(int Type, CNetPacket* pPacket, __int64 nContext = -1); protected: int InitNetwork(const CString& strIPAddress); void DeinitNetwork(); void NetProcess_WC_MODULE_INDEX(CNetPacket* pPacket); void NetProcess_WC_MEASURE_READY(CNetPacket* pPacket); void NetProcess_WC_MEASURE_START(CNetPacket* pPacket); void NetProcess_WC_MEASURE_MOTION_END(CNetPacket* pPacket); void NetProcess_WC_MEASURE_SCAN_END(CNetPacket* pPacket); void NetProcess_WC_MEASURE_RESULT(CNetPacket* pPacket); void NetProcess_WC_MEASURE_INFO(CNetPacket* pPacket); void NetProcess_WC_MEASURE_END(CNetPacket* pPacket); void NetProcess_WC_MEASURE_TIMEOVER(CNetPacket* pPacket); void NetProcess_WC_ALIVE_OCCUR(CNetPacket* pPacket); void NetProcess_WC_ALARM_OCCUR(CNetPacket* pPacket); protected: CNetClient* m_pClientSocket; };