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