www.pudn.com > warsrc.rar > genericinternetview.h
// GenericInternetView.h : header file
//
class CCaptionBar;
class CDaemonInfo;
class CFileProperties;
class CGenericInternetView;
class CGenericRemote;
enum // FTP States
{
FTPS_NOT_CONNECTED,
FTPS_DISCONNECTED,
FTPS_CONNECTING,
FTPS_POLL_CONNECT,
FTPS_CONNECTED,
FTPS_CWD,
FTPS_PWD,
FTPS_LIST,
FTPS_IDLE,
FTPS_STOR,
FTPS_RECV,
FTPS_DELETE,
FTPS_VIEW,
FTPS_HOLD, // General one-step command
FTPS_INDEX,
FTPS_INVALID
};
/////////////////////////////////////////////////////////////////////////////
// CGenericInternetView view
class DLL_WAR_CLIENT_ CGenericInternetView : public CListViewEx
{
protected:
CGenericInternetView(); // protected constructor used by dynamic creation
public:
void SetListMode(int Mode);
void SortItems(int iMode);
static int CALLBACK LocalViewListCmp(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
void UpdateUrl();
BOOL Connect();
CDaemonInfo *GetDaemonInfo();
BOOL ListDir();
BOOL ListLocalDir();
static CString MkDOSPathWithPattern(LPCSTR Path, LPCSTR Pattern);
BOOL UpdateDirList(CLinkedList& DirList);
CString GetFlags(CFileProperties *pInfo);
int GetImageIndex(CFileProperties *pInfo);
BOOL ChDir(LPCSTR Path);
void OnFailedToConnect(int nErrorCode = -1);
void LogConnMsg(int LogType, int msgID, ...);
void OnDisconnect(BOOL DoPoll = FALSE, BOOL AlsoOtherSide = FALSE);
void OnConnect();
void Process();
void ProcessFTP();
LONG OnProcess(WPARAM WParam, LPARAM LParam);
LONG OnWmuCommand(WPARAM WParam, LPARAM LParam);
BOOL CdUp();
void ResetFileList();
void OnDnsResolved(int nErrorCode, CDNSLookup *pDNS);
BOOL OnInetLogin(long IPnum);
BOOL MkValidPath(CString& cPath, CGenericInternetView *pTellHim = NULL);
BOOL SendFiles(CFileProperties **ppFP, BOOL DoSend = FALSE, CGenericInternetView *FromPane = NULL);
BOOL IsReady();
CFileProperties **GetSelectedFiles(BOOL TestOnly = FALSE);
BOOL GetFileSize(CGenericRemote *pRI);
BOOL IsOnline();
void Disconnect(BOOL DoPoll = FALSE);
BOOL DoConnect();
void OnAbort();
BOOL PrepereForNewCommand();
CString GetPath();
void AddPathToHistory(LPCSTR Path);
void ProcessLocal();
void CreateDirectory(LPCSTR Path);
void UpdateImage(BOOL DoOtherSideToo = TRUE);
void OnIdle();
BOOL AddToFileXmits(CGenericRemote *pRemote);
DECLARE_DYNCREATE(CGenericInternetView)
// Attributes
public:
CImageList *m_ImgSmall, *m_ImgLarge;
int m_LocalSortMode;
int m_LocalListMode;
int m_TimerID;
CString m_RemoteIP;
CLogView *m_LogWin, *m_OtherSideLogWin;
CGenericRemote *m_Server;
CString m_URL;
CEdit *m_URLcaption;
int m_ViewNum; // 0 = left, 1 = right
CString m_Path;
CLinkedList m_DirList;
int m_State;
BOOL m_Virgin;
CGenericInternetView *m_OtherSide;
BOOL m_IsLocal;
CString m_TimeFmt; // Time format mask
HICON m_SvrIcon;
HCURSOR m_WaitCursor;
HCURSOR m_OfflineCursor;
HCURSOR m_ConnectingCursor;
CLinkedList m_PathHistory;
CFileProperties **m_pFP;
int m_pFPIndex;
CBitmap m_StateImage[FTPS_INVALID];
CWarTimer m_PollTimer;
int m_PollRetryNum;
BOOL m_HasPollDisconnected;
BOOL m_UseFirewall;
CString m_RealFTPAddress;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CGenericInternetView)
public:
virtual void OnInitialUpdate();
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CGenericInternetView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CGenericInternetView)
afx_msg void OnRclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnViewSortAscending();
afx_msg void OnViewSortBydate();
afx_msg void OnViewSortByname();
afx_msg void OnViewSortBysize();
afx_msg void OnViewSortBytype();
afx_msg void OnViewSortDescending();
afx_msg void OnMenuModeLargeicons();
afx_msg void OnMenuModeList();
afx_msg void OnMenuModeSmallicons();
afx_msg void OnMenuModeWide();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnSetFocus(CWnd* pOldWnd);
afx_msg void OnKillFocus(CWnd* pNewWnd);
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
afx_msg void OnMenuDownload();
afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
afx_msg void OnMenuRefresh();
afx_msg void OnUpdateMenuRefresh(CCmdUI* pCmdUI);
afx_msg void OnMenuPaneproperties();
afx_msg void OnCdup();
afx_msg void OnUpdateCdup(CCmdUI* pCmdUI);
afx_msg void OnUpdateMenuDownload(CCmdUI* pCmdUI);
afx_msg void OnMenuAbort();
afx_msg void OnUpdateMenuAbort(CCmdUI* pCmdUI);
afx_msg void OnMenuDelete();
afx_msg void OnUpdateMenuDelete(CCmdUI* pCmdUI);
afx_msg void OnMenuMakedirectorymkdir();
afx_msg void OnUpdateMenuMakedirectorymkdir(CCmdUI* pCmdUI);
afx_msg void OnDestroy();
afx_msg void OnDropFiles(HDROP hDropInfo);
afx_msg void OnShowindex();
afx_msg void OnUpdateShowindex(CCmdUI* pCmdUI);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
#define LVM_STORE 0x10000000 // Final message from an operation.
#define LVM_PING 0x20000000 // Ping