SDC C-Project CF Review 프로그램
LYW
2021-07-29 bd13fa3f9396f1f681759f4623c55d5f91d74a9c
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#pragma once
 
#include "GlassRawBase.h"
 
class CInterfaceFTP
{
public:
    enum emFTPCommand
    {    
        FTPCMD_REVIEW_IMAGE        =0,
        FTPCMD_RAW                ,
        FTPCMD_INDEX                ,
        FTPCMD_AOI_IMAGE            ,
        FTPCMD_MURA_RAW            ,
        FTPCMD_MURA_IMAGE            ,
        FTPCMD_STACK                ,
        FTPCMD_LINK                ,
        FTPCMD_End
    };
 
public:
    CInterfaceFTP(void);
    ~CInterfaceFTP(void);
 
    virtual void SendMessageFTPUploadRaw(_grmGlassData* pGlassData);
    virtual void SendMessageFTPDownloadStack(_grmGlassData* pGlassData);
    virtual void SendMessageFTPUploadImage(_grmGlassData* pGlassData, emFTPCommand sort); 
    virtual BOOL SendMessageFTPUploadIndexFile(_grmGlassData* pGlassData);
    virtual void SendMessageFTPUploadLinkFile(_grmGlassData* pGlassData);
    virtual void SendMessageFTPDownloadDataFile( _grmGlassData* pGlassData);
 
    virtual void GetFormatDescription(emFTPCommand sort, char* pServerPath, char* pServerFile, char* pLocalPath, char* pLocalFile, _grmGlassData* pGlassData); 
 
public:
    CTime m_tmFileCreateTime;
};
 
class CFTPCopyDataParam
{
public:
    enum FTPProcessType { FTPProcessType_DownFile=0, FTPProcessType_UpFile, FTPProcessType_Count };
    enum FTPDataSize { FTPDataSize_MaxPathNum=255, FTPDataSize_MaxFileNum=100 };
    enum FTPCopyDataCmd { FTPCopyDataCmd_RawDownload=1,  FTPCopyDataCmd_RawUpload, FTPCopyDataCmd_LotUpload, FTPCopyDataCmd_ImageUpload };
    enum FTPDataType { FTPDataType_Unknown = 0, FTPDataType_Raw, FTPDataType_Image, FTPDataType_Stack, FTPDataType_Index };
 
public:
    CFTPCopyDataParam()                { Reset(); }
    virtual ~CFTPCopyDataParam()    { Reset(); }
    void Reset()
    {
        memset(this, 0, sizeof(CFTPCopyDataParam));
        m_hSenderWnd = GetCurrentProcessWndHandle();
    }
 
    const HWND    GetSenderWnd() const                        { return m_hSenderWnd; }
    void        SetSenderWnd(HWND hWnd)                        { m_hSenderWnd = hWnd; }
 
public:
    int        m_nProcessType;                                // ÇÁ·Î¼¼½º Å¸ÀÔ
    int     m_nCreateSignalFile;                        // ½Ã±×³Î ÆÄÀÏ »ý¼ºÀ¯¹«
    int        m_bFirstPriority;                            // ÃÖ»óÀ§ ¿ì¼±¼øÀ§À¯¹«
    int        m_nSendResultCode;                            // º¸³½ °á°ú ÄÚµå
    // [C-PRJ] Image Upload Define - KHT (2020/11/19)
    int        m_nDataType;                                // µ¥ÀÌÅ͠ŸÀÔ
 
    TCHAR    m_strServer_FolderName[FTPDataSize_MaxPathNum];        // ¼­¹ö °æ·Î¸í
    TCHAR    m_strServer_FileName[FTPDataSize_MaxFileNum];            // ¼­¹ö ÆÄÀϸí
 
    TCHAR    m_strLocal_FolderName[FTPDataSize_MaxPathNum];        // ·ÎÄà°æ·Î¸í
    TCHAR    m_strLocal_FileName[FTPDataSize_MaxFileNum];            // ·ÎÄàÆÄÀϸí
 
    TCHAR    m_strServer_SignalFolderName[FTPDataSize_MaxPathNum];    // ¼­¹ö ½Ã±×³Î °æ·Î¸í
    TCHAR    m_strServer_SignalFileName[FTPDataSize_MaxFileNum];    // ¼­¹ö ½Ã±×³Î ÆÄÀϸí
 
    TCHAR    m_strRTMS_FileName[FTPDataSize_MaxFileNum];
 
    TCHAR   m_strServer_SubFileName[FTPDataSize_MaxFileNum];  // ¼­¹ö ·ÎÄà°æ·Î³»¿¡ Ãß°¡ Raw ÆÄÀÏ »ý¼º À̸§
    TCHAR   m_strServer_SubFilePath[FTPDataSize_MaxFileNum];  // ¼­¹ö ·ÎÄà°æ·Î³»¿¡ Ãß°¡ Raw ÆÄÀÏ »ý¼º °æ·Î
 
protected:
    HWND    m_hSenderWnd;                                // º¸³½ ÇÁ·Î±×·¥ À©µµ¿ì
 
    static HWND GetCurrentProcessWndHandle()
    {
        DWORD dwPID = GetCurrentProcessId();
        HWND hWnd = FindWindow(NULL, NULL);
        while (hWnd != NULL)
        {
            if (GetParent(hWnd) == NULL){
                DWORD dwProcId;
                GetWindowThreadProcessId(hWnd, &dwProcId);
                if (dwPID == dwProcId){
                    return hWnd;
                }
            }
            hWnd = GetWindow(hWnd, GW_HWNDNEXT);
        }
        return NULL;
    }
};