//============================================================
// Определение класса FtpViewDlg и некоторых констант
//============================================================

// Определение констант
#define COL_NUM      4    // Количество колонок таблицы
#define MIN_LEN_BUF  30   // Минимальная длина буфера
#define DIRECTORY    0    // Пиктограмма каталога
#define FILE         1    // Пиктограмма файла

//////////////////////////////////////////////////////////////
// Класс CFtpViewDlg 

class CFtpViewDlg : public CDialog
{
// Construction
public:
   ~CFtpViewDlg();
   CFtpViewDlg(CWnd* pParent = NULL); 

// Dialog Data
   //{{AFX_DATA(CFtpViewDlg)
   enum { IDD = IDD_FTPVIEW_DIALOG };

   CEdit   m_Status;       // Поле Directory
   CButton   m_Ok;         // Кнопка OK
   CButton   m_OnTop;      // Кнопка On top
   CButton   m_Connect;    // Кнопка Connect
   CListCtrl   m_FtpList;  // Таблица с содержимым каталога
   CString   m_FtpAddress; // Поле адреса сервера FTP
   //}}AFX_DATA

   //{{AFX_VIRTUAL(CFtpViewDlg)
   protected:
   // Обмен данными - DDX/DDV 
   virtual void DoDataExchange(CDataExchange* pDX);   
   //}}AFX_VIRTUAL

// Implementation
protected:
   CString sCurentDirectory;            // Текущий каталог
   CImageList* m_ImageList;             // Список изображений
   CFtpConnection* m_FtpConnection;     // FTP сервер
   CInternetSession* m_InternetSession; // Сеанс связи 

   HICON m_hIcon;                    // Пиктограмма приложения

protected:
   // Метод, просматривающий содержимое каталога
   BOOL DirectoryView();             

   // Методы обрабатывающие сообщения
   //{{AFX_MSG(CFtpViewDlg)
   virtual BOOL OnInitDialog();
   afx_msg void OnPaint();
   afx_msg HCURSOR OnQueryDragIcon();
   afx_msg void OnOnTop();
   afx_msg void OnDblclkFtpList(NMHDR* pNMHDR, LRESULT* pResult);
   afx_msg void OnConnect();
   //}}AFX_MSG
   DECLARE_MESSAGE_MAP()
private:
	BOOL FtpFileDownload( CString sFileName );
};
