DataSocket.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #if !defined(AFX_DATASOCKET_H__38ADA982_DD96_4607_B7D2_982011F162FE__INCLUDED_)
  2. #define AFX_DATASOCKET_H__38ADA982_DD96_4607_B7D2_982011F162FE__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. class CConnectSocket;
  7. #define XFERMODE_IDLE 0
  8. #define XFERMODE_LIST 1
  9. #define XFERMODE_SEND 2
  10. #define XFERMODE_RECEIVE 3
  11. #define XFERMODE_ERROR 4
  12. class CDataSocket : public CAsyncSocket
  13. {
  14. public:
  15. CDataSocket(CConnectSocket *pSocket, int nTransferType = 0);
  16. virtual ~CDataSocket();
  17. public:
  18. void SetRestartOffset(DWORD dwOffset);
  19. void SetTransferType(int nType, BOOL bWaitForAccept = FALSE);
  20. void SetData(LPCTSTR lpszData);
  21. CFile m_File;
  22. int GetStatus();
  23. //{{AFX_VIRTUAL(CDataSocket)
  24. public:
  25. virtual void OnSend(int nErrorCode);
  26. virtual void OnConnect(int nErrorCode);
  27. virtual void OnClose(int nErrorCode);
  28. virtual void OnReceive(int nErrorCode);
  29. virtual void OnAccept(int nErrorCode);
  30. //}}AFX_VIRTUAL
  31. //{{AFX_MSG(CDataSocket)
  32. //}}AFX_MSG
  33. protected:
  34. DWORD m_dwRestartOffset;
  35. BOOL m_bConnected;
  36. BOOL m_bInitialized;
  37. int Receive();
  38. BOOL PrepareReceiveFile(LPCTSTR lpszFilename);
  39. BOOL PrepareSendFile(LPCTSTR lpszFilename);
  40. DWORD m_nTotalBytesTransfered;
  41. DWORD m_nTotalBytesReceive;
  42. DWORD m_nTotalBytesSend;
  43. int m_nTransferType;
  44. CString m_strData;
  45. int m_nStatus;
  46. CConnectSocket *m_pConnectSocket;
  47. };
  48. //{{AFX_INSERT_LOCATION}}
  49. #endif // AFX_DATASOCKET_H__38ADA982_DD96_4607_B7D2_982011F162FE__INCLUDED_