65 lines
2.0 KiB
C++
65 lines
2.0 KiB
C++
/************************************************************************/
|
|
/* CFtpNework */
|
|
/*
|
|
/* FTP 연결을 위한 win32 Ftp함수 랩퍼 클래스
|
|
/*
|
|
/* 작성자 : 조재식(Sun ServerTeam)
|
|
/*
|
|
/* 작성일 : 2006년 2월 1일
|
|
/*
|
|
/* Version : 0.0.1
|
|
/*
|
|
/************************************************************************/
|
|
|
|
#pragma once
|
|
|
|
#include <windows.h>
|
|
#include <wininet.h>
|
|
#include "define.h"
|
|
#include "MessageDefine.h"
|
|
#include "UpdateFileInfo.h"
|
|
|
|
#define FTP_ADDRESS_SIZE 64
|
|
#define FTP_BUFFER_SIZE 2048
|
|
#define MAX_RETRY_OPENFILE 10 //원격지 파일 열기 최대 도전회수
|
|
|
|
class DLL_DECLARE CFtpNetwork
|
|
{
|
|
public:
|
|
CFtpNetwork(void);
|
|
~CFtpNetwork(void);
|
|
|
|
private:
|
|
HINTERNET m_hInetSession; //인터넷 세션 핸들
|
|
HINTERNET m_hFtpConnection; //Ftp 연결 핸들
|
|
TCHAR m_szIP[FTP_ADDRESS_SIZE];
|
|
int m_nPort;
|
|
TCHAR m_szID[DEFAULT_BUFFER_SIZE]; //FTP ID
|
|
TCHAR m_szPass[DEFAULT_BUFFER_SIZE]; //FTP PASSWORD
|
|
TCHAR m_szFtpBuffer[FTP_BUFFER_SIZE]; //FTP Buffer
|
|
CUpdateFileInfo m_UpdateFileInfo;
|
|
|
|
|
|
public:
|
|
BOOL Connect( TCHAR* pszIP, int nPort, TCHAR* pszID, TCHAR* pszPass, DWORD &ErrorCode );
|
|
void DisConnect();
|
|
BOOL DownloadFile( const HINTERNET hRemoteFile, DWORD dwRemoteFileLength, HANDLE hLocalFile );
|
|
BOOL DownloadFile( const HINTERNET hRemoteFile, WIN32_FIND_DATA& RemoteInfo, HANDLE hLocalFile );
|
|
HINTERNET OpenFtpFile( TCHAR* pszFile );
|
|
BOOL GetFileInfo( const TCHAR* pszFile, WIN32_FIND_DATA& info ); //파일정보를 얻는다.
|
|
BOOL SetDirectory( const TCHAR* pszDir ); //FTP의 디렉토리를 설정한다.
|
|
BOOL GetDirectory( TCHAR* pszDir, DWORD dwSize ); //현재 FTP의 디렉토리를 가져온다.
|
|
void GetIP( TCHAR* pszIP, int nSize );
|
|
int GetPort(){return m_nPort;}
|
|
void AddMessage( UINT uMsg, VOID* pData );
|
|
BOOL IsConnectFTP();
|
|
|
|
//MsgCallback
|
|
public:
|
|
typedef VOID (*fnMsgCallBack)( UINT uMsgType, VOID* pData );
|
|
fnMsgCallBack m_fnMsgCallBack;
|
|
VOID SetMsgCallBack( fnMsgCallBack CallBack );
|
|
|
|
};
|
|
|