SDC C-Project CF Review 프로그램
LYW
2021-06-28 cf6a4019e9efbc0503bd3fbcf6f951565d028972
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#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;
};