#pragma once #include "msgprocess.h" #include "IPMsg.h" #include #include #include #include "Configuration.h" using namespace std; #define WM_UPDATELIST (WM_USER+100) #define WM_SHOWMSG (WM_USER+101) #define WM_RECVFILE (WM_USER+102) #define WM_BEGIN_PROGRESS (WM_USER+103) #define WM_UPDATE_PROGRESS (WM_USER+104) #define WM_END_PROGRESS (WM_USER+105) #define WM_BEGIN_NETWORK (WM_USER+106) typedef map NameHostMap; class M8MsgProcess : public MsgProcess { private: CMzWndEx* pWnd; IPMsg* pIPMsg; NameHostMap userMap; BOOL processFile(MsgBuf* pMsg); void ReceiveFile(MsgBuf* pMsg, FileInfo* pFileInfo); //void ReceiveFileData(FileInfo* pFileInfo, SOCKET& tcp, char* dir); void SaveDataToFile(wstring& fileName, FileInfo* pFileInfo, SOCKET& tcp); void ReceiveDirData(FileInfo* pFileInfo, SOCKET& tcp, WCHAR* dir); int recevFileNo; Configuration* pConfig; static DWORD WINAPI RecvFile_Thread(LPVOID lparam); HANDLE m_Mutex; public: M8MsgProcess(CMzWndEx* ipWnd, IPMsg * ipIPMsg); virtual ~M8MsgProcess(void); virtual int processMsg(MsgBuf* pMsg); NameHostMap& getUserMap(){ return userMap;} }; struct MessageProcess { M8MsgProcess* process; MsgBuf* pMsg; };