00001 /* 00002 Free Download Manager Copyright (c) 2003-2007 FreeDownloadManager.ORG 00003 */ 00004 00005 #if !defined(AFX_FSHTTPFILES_H__50AB10C6_642A_4EEE_96AE_6E16668CF6F0__INCLUDED_) 00006 #define AFX_FSHTTPFILES_H__50AB10C6_642A_4EEE_96AE_6E16668CF6F0__INCLUDED_ 00007 00008 #include "fsHttpConnection.h" 00009 #include "fsinet.h" 00010 #if _MSC_VER > 1000 00011 #pragma once 00012 #endif 00013 00014 #include "fsInternetFiles.h" 00015 #include "fsHttpFile.h" 00016 00017 enum fsHttpFilesEvent 00018 { 00019 HFE_CONNECTED, 00020 HFE_FILELISTREAD, 00021 HFE_STARTBUILDLIST, 00022 HFE_FINISHBUILDLIST 00023 }; 00024 00025 typedef void (*fntHttpFilesEventFunc)(class fsHttpFiles* pFiles, fsHttpFilesEvent enEvent, LPVOID lpParam); 00026 00027 class fsHttpFiles : public fsInternetFiles 00028 { 00029 public: 00030 00031 00032 fsInternetResult GetList (LPCSTR pszPath); 00033 void Abort(); 00034 00035 00036 00037 00038 void SetEventFunc (fntHttpFilesEventFunc pfn, LPVOID lpParam); 00039 00040 void UseSecure (BOOL bUse); 00041 LPCSTR GetLastError(); 00042 00043 void SetServer (fsHttpConnection* pServer); 00044 00045 00046 void RetreiveInfoWhileGettingList (BOOL b); 00047 fsHttpFiles(); 00048 virtual ~fsHttpFiles(); 00049 protected: 00050 LPCSTR m_pszBaseURL; 00051 00052 void Event (fsHttpFilesEvent enEvent); 00053 00054 00055 void CalcUrl (fsFileInfo* pInfo, LPCSTR pszSomeUrl); 00056 00057 void CheckFolder (fsFileInfo* file); 00058 00059 00060 00061 fsInternetResult GetUrlInfo (LPCSTR pszUrl, fsFileInfo *pInfo); 00062 00063 fsInternetResult BuildFileList(); 00064 00065 fsInternetResult LoadFile(); 00066 00067 fntHttpFilesEventFunc m_pfnEvents; 00068 LPVOID m_lpEventsParam; 00069 BOOL m_bUseSecure; 00070 fsString m_strFullPath; 00071 BOOL m_bAbort; 00072 BOOL m_bGetInfo; 00073 LPSTR m_pszFileBuffer; 00074 UINT64 m_uFileLen; 00075 fsHttpFile m_httpFile; 00076 fsHttpConnection* m_pServer; 00077 00078 private: 00079 fsHttpConnection m_hUI_server; 00080 fsHttpFile m_hUI_file; 00081 }; 00082 00083 #endif
1.5.6