ConnectSocket.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. // ConnectSocket.h : header file
  2. #if !defined(AFX_CONNECTSOCKET_H__B7C54BD3_A555_11D0_8996_00AA00B92B2E__INCLUDED_)
  3. #define AFX_CONNECTSOCKET_H__B7C54BD3_A555_11D0_8996_00AA00B92B2E__INCLUDED_
  4. #if _MSC_VER >= 1000
  5. #pragma once
  6. #endif // _MSC_VER >= 1000
  7. class CDataSocket;
  8. class CConnectSocket : public CSocket
  9. {
  10. BYTE *m_pRevBuf;
  11. int m_reved;
  12. int m_dateleng;
  13. enum // Token ID's
  14. {
  15. TOK_ABOR, TOK_BYE, TOK_CDUP, TOK_CWD,
  16. TOK_DELE, TOK_DIR, TOK_HELP, TOK_LIST,
  17. TOK_MKD, TOK_NOOP, TOK_PASS, TOK_PASV,
  18. TOK_PORT, TOK_PWD, TOK_QUIT, TOK_REST,
  19. TOK_RETR, TOK_RMD, TOK_RNFR, TOK_RNTO,
  20. TOK_SIZE, TOK_STOR, TOK_SYST, TOK_TYPE,
  21. TOK_USER, TOK_ERROR,
  22. };
  23. public:
  24. int m_bPassiveMode;
  25. int m_nRemotePort;
  26. CString m_strRemoteHost;
  27. CDataSocket *m_pDataSocket;
  28. struct CFTPCommand
  29. {
  30. int m_nTokenID;
  31. char *m_pszName;
  32. BOOL m_bHasArguments;
  33. char *m_pszDescription;
  34. };
  35. // Attributes
  36. public:
  37. unsigned long net_Send(IN void *pHeader, IN void *pMessage, IN unsigned long ulDataLen);
  38. void processChatMessageRequest(void *pChatMsg);
  39. BOOL HasConnectionDropped(void);
  40. BOOL SendResponse(LPCTSTR pstrFormat, ...);
  41. void FireStatusMessage(LPCTSTR lpszStatus, int nType);
  42. BOOL GetRxCommand(CString &command, CString &args);
  43. BOOL CreateDataConnection(int nTransferType, LPCTSTR lpszData);
  44. void DestroyDataConnection();
  45. // Operations
  46. public:
  47. CConnectSocket();
  48. virtual ~CConnectSocket();
  49. void ParseCommand();
  50. // Overrides
  51. public:
  52. BOOL m_bLoggedon;
  53. CString m_strUserName;
  54. // ClassWizard generated virtual function overrides
  55. //{{AFX_VIRTUAL(CConnectSocket)
  56. public:
  57. virtual void OnClose(int nErrorCode);
  58. virtual void OnReceive(int nErrorCode);
  59. virtual void OnConnect(int nErrorCode);
  60. //}}AFX_VIRTUAL
  61. // Generated message map functions
  62. //{{AFX_MSG(CConnectSocket)
  63. // NOTE - the ClassWizard will add and remove member functions here.
  64. //}}AFX_MSG
  65. // Implementation
  66. protected:
  67. CStringList m_strCommands;
  68. void GetRxLine();
  69. BOOL m_bRenameFile;
  70. DWORD m_dwRestartOffset;
  71. CString m_strRenameFile;
  72. CString m_RxBuffer;
  73. CString m_strCurrentDir;
  74. };
  75. /////////////////////////////////////////////////////////////////////////////
  76. //{{AFX_INSERT_LOCATION}}
  77. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  78. #endif // !defined(AFX_CONNECTSOCKET_H__B7C54BD3_A555_11D0_8996_00AA00B92B2E__INCLUDED_)