/************************************************************************/ /* CFtpNework */ /* /* FTP ¿¬°áÀ» À§ÇÑ win32 FtpÇÔ¼ö ·¦ÆÛ Ŭ·¡½º /* /* ÀÛ¼ºÀÚ : Á¶Àç½Ä(Sun ServerTeam) /* /* ÀÛ¼ºÀÏ : 2006³â 2¿ù 1ÀÏ /* /* Version : 0.0.1 /* /************************************************************************/ #pragma once #include #include #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 ); };