00001 /* 00002 Free Download Manager Copyright (c) 2003-2007 FreeDownloadManager.ORG 00003 Open Download Manager Copyright (c) 2008-2010 OpenDownloadManager.ORG 00004 */ 00005 00006 #if !defined(AFX_FSMIRRORURLSMGR_H__F477E452_F0BB_4580_AEB8_54D9454478AD__INCLUDED_) 00007 #define AFX_FSMIRRORURLSMGR_H__F477E452_F0BB_4580_AEB8_54D9454478AD__INCLUDED_ 00008 00009 #include "fsSitePingMgr.h" 00010 #include <inetfile/inetfile.h> 00011 #if _MSC_VER > 1000 00012 #pragma once 00013 #endif 00014 00015 enum fsMirrorURLsMgrEvent 00016 { 00017 MUME_CONNECTINGSEARCHSERVER, 00018 MUME_RETREIVINGSEARCHRESULTS, 00019 MUME_DONE 00020 }; 00021 00022 typedef void (*fntMirrorURLsMgrEvents)(fsMirrorURLsMgrEvent ev, LPVOID lp); 00023 00024 class fsMirrorURLsMgr 00025 { 00026 public: 00027 00028 void Abort(); 00029 00030 void Set_EventFunc (fntMirrorURLsMgrEvents pfn, LPVOID lp); 00031 00032 fsInternetResult SearchForMirrors(); 00033 00034 LPCSTR Get_MirrorURL (int iIndex); 00035 00036 int Get_MirrorURLCount(); 00037 00038 void Set_SearchURL (LPCSTR pszUrl); 00039 00040 void Initialize (LPCSTR pszFileName, UINT64 uSize, LPCSTR pszBaseServer, fsInternetSession* pSession); 00041 fsMirrorURLsMgr(); 00042 virtual ~fsMirrorURLsMgr(); 00043 00044 protected: 00045 00046 BOOL m_bAbort; 00047 00048 virtual BOOL IsMirrorURLGood (LPCSTR pszURL); 00049 00050 virtual fsInternetResult OnSearchScriptResultsReceived(); 00051 00052 void Event (fsMirrorURLsMgrEvent ev); 00053 00054 static void _DldrEvents (fsInternetURLFileDownloaderEvent ev, LPVOID lp); 00055 fsInternetURLFileDownloader m_dldr; 00056 fsString m_strSearchURL; 00057 fsString m_strBaseServer; 00058 fsString m_strFile; 00059 UINT64 m_uSize; 00060 fs::list <fsString> m_vMirrorURLs; 00061 fs::list <DWORD> m_vMirrorSpeeds; 00062 00063 fntMirrorURLsMgrEvents m_pfnEvents; 00064 LPVOID m_lpEvParam; 00065 }; 00066 00067 class fsMirrorURLsMgr_FileMirrorsDotCom : public fsMirrorURLsMgr 00068 { 00069 public: 00070 void Set_SearchURL (int nURL); 00071 fsMirrorURLsMgr_FileMirrorsDotCom(); 00072 virtual ~fsMirrorURLsMgr_FileMirrorsDotCom(); 00073 00074 protected: 00075 }; 00076 00077 #endif
1.5.6