www.pudn.com > ntshell.rar > filemgr.h


// filemgrview.h: interface for the CFileMgr class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_FILEMGRVIEW_H__52F24526_0766_476E_BB44_592F4828886C__INCLUDED_) 
#define AFX_FILEMGRVIEW_H__52F24526_0766_476E_BB44_592F4828886C__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
class CFileMgr : public CDialogImpl, public CSockMgr 
{ 
public: 
	enum { IDD = IDD_FILEMGR }; 
 
	BEGIN_MSG_MAP(CFileMgr) 
		MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 
		MESSAGE_HANDLER(WM_SIZE, OnSize) 
		MESSAGE_HANDLER(WM_SOCKET_READ, OnSocketRead) 
		MESSAGE_HANDLER(WM_SOCKET_WRITE, OnSocketWrite) 
		MESSAGE_HANDLER(WM_DESTROY, OnDestroy) 
		MESSAGE_HANDLER(WM_CONNECT_COMPLETE, OnConnOk) 
		MESSAGE_HANDLER(WM_CONNECT_TIMEOUT, OnConnTimeOut) 
		MESSAGE_HANDLER(WM_CONNECT_CREATED, OnConnectCreated) 
		MESSAGE_HANDLER(WM_CONNECT_CLOSED, OnConnectClosed) 
		COMMAND_ID_HANDLER(ID_FILEMGR_TOP, OnToolBarTop) 
		COMMAND_ID_HANDLER(ID_FILEMGR_RELOAD, OnToolBarReload) 
		COMMAND_ID_HANDLER(IDC_PATHLIST, OnPathSelect) 
		COMMAND_ID_HANDLER(IDC_GOTO, OnGoto) 
		COMMAND_ID_HANDLER(IDM_FILE_OPEN, OnFileOpen) 
		COMMAND_ID_HANDLER(IDM_FILE_EXECUTE, OnFileExecute) 
		COMMAND_ID_HANDLER(IDM_FILE_CUT, OnFileCut) 
		COMMAND_ID_HANDLER(IDM_FILE_COPY, OnFileCopy) 
		COMMAND_ID_HANDLER(IDM_FILE_PASTE, OnFilePaste) 
		COMMAND_ID_HANDLER(IDM_FILE_DOWNLOAD, OnFileDownload) 
		COMMAND_ID_HANDLER(IDM_FILE_UPLOAD, OnFileUpload) 
		COMMAND_ID_HANDLER(IDM_FILE_DELETE, OnFileDelete) 
		COMMAND_ID_HANDLER(IDM_DIRECTORY_CREATE, OnDirectoryCreate) 
		COMMAND_ID_HANDLER(IDM_DIRECTORY_REMOVE, OnDirectoryRemove) 
		NOTIFY_ID_HANDLER(IDC_FILELIST, OnFileSelect) 
		ALT_MSG_MAP(1) 
			MESSAGE_HANDLER(WM_CHAR, OnComboChar) 
	END_MSG_MAP() 
 
	LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnSize(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnSocketRead(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnSocketWrite(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnConnOk(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnConnTimeOut(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnConnectCreated(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnConnectClosed(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnToolBarTop(int /*code*/, int /*id*/, HWND /*hWnd*/, BOOL& /*bHandled*/); 
	LRESULT OnToolBarReload(int /*code*/, int /*id*/, HWND /*hWnd*/, BOOL& /*bHandled*/); 
	LRESULT OnPathSelect(int /*code*/, int /*id*/, HWND /*hWnd*/, BOOL& /*bHandled*/); 
	LRESULT OnGoto(int /*code*/, int /*id*/, HWND /*hWnd*/, BOOL& /*bHandled*/); 
	LRESULT OnFileSelect(int /*wParam*/, LPNMHDR /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnComboChar(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnFileOpen(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
	LRESULT OnFileExecute(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
	LRESULT OnFileCut(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
	LRESULT OnFileCopy(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
	LRESULT OnFilePaste(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
	LRESULT OnFileDownload(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
	LRESULT OnFileUpload(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
	LRESULT OnFileDelete(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
	LRESULT OnDirectoryCreate(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
	LRESULT OnDirectoryRemove(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
 
	CFileMgr(); 
	virtual ~CFileMgr(); 
 
protected: 
	CContainedWindow m_path; 
 
private: 
	typedef struct _FILE_LIST 
	{ 
		struct _FILE_LIST *next; 
		FILEMGR_FILEINFO fileinfo; 
	} FILE_LIST, *PFILE_LIST; 
 
	CReBarCtrl m_ReBar; 
	CToolBarCtrl m_hToolBar; 
	CListViewCtrl m_hFileList; 
	CComboBox m_hPathList; 
	SOCKET slave_sock; 
	REQUEST_CONNECT rc; 
	bool connwait; 
	PWND_INIT_PARAM pwip; 
	PFILE_LIST filelist; 
	char szCurPath[MAX_PATH]; 
	int SortColumn; 
	int SizeSortOrder[6]; 
	int ClipboardOperation; 
	CString ClipboardData; 
 
	static int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort); 
	void ParseDataPack(LPBYTE pData, ULONG nDataSize); 
	void NumGrouping(char *buf, unsigned int hival, unsigned int loval, int width); 
	void CleanupFileList(); 
	int GetIconIndex(const char *lpExtName, BOOL bSmallIcon, DWORD dwFileAttributes); 
	void SetCurrentPath(const char *lpPath); 
	int SendCommand(DWORD dwCommand, const char *lpPath); 
	int SendCommandEx(DWORD dwCommand, const void *lpData, int cbData); 
	bool GetSelectedFileName(CString &str, bool bIncludePath); 
}; 
 
#endif // !defined(AFX_FILEMGRVIEW_H__52F24526_0766_476E_BB44_592F4828886C__INCLUDED_)