00001 /* 00002 Free Download Manager Copyright (c) 2003-2007 FreeDownloadManager.ORG 00003 Open Download Manager Copyright (c) 2008-2010 OpenDownloadManager.ORG 00004 */ 00005 00006 #include "fsInternetURLServer.h" 00007 00008 fsInternetURLServer::fsInternetURLServer() 00009 { 00010 m_pServer = NULL; 00011 m_scheme = INTERNET_SCHEME_UNKNOWN; 00012 } 00013 00014 fsInternetURLServer::~fsInternetURLServer() 00015 { 00016 00017 } 00018 00019 fsInternetResult fsInternetURLServer::Connect(LPCSTR pszUrl, LPCSTR pszUser, LPCSTR pszPassword, INTERNET_PORT nPort) 00020 { 00021 fsInternetResult ir; 00022 00023 m_httpServer.CloseHandle (); 00024 m_ftpServer.CloseHandle (); 00025 00026 fsURL url; 00027 00028 00029 ir = url.Crack (pszUrl); 00030 if (ir != IR_SUCCESS) 00031 return ir; 00032 00033 m_scheme = url.GetInternetScheme (); 00034 switch (m_scheme) 00035 { 00036 case INTERNET_SCHEME_HTTP: 00037 case INTERNET_SCHEME_HTTPS: 00038 m_pServer = &m_httpServer; 00039 break; 00040 00041 case INTERNET_SCHEME_FTP: 00042 m_pServer = &m_ftpServer; 00043 break; 00044 00045 default: 00046 return IR_BADURL; 00047 } 00048 00049 return m_pServer->Connect (url.GetHostName (), pszUser ? pszUser : url.GetUserName (), 00050 pszPassword ? pszPassword : url.GetPassword (), nPort); 00051 } 00052 00053 HINTERNET fsInternetURLServer::GetHandle() 00054 { 00055 return m_pServer->GetHandle (); 00056 } 00057 00058 BOOL fsInternetURLServer::IsHttpServer() 00059 { 00060 return m_scheme == INTERNET_SCHEME_HTTP; 00061 } 00062 00063 BOOL fsInternetURLServer::IsFtpServer() 00064 { 00065 return m_scheme == INTERNET_SCHEME_FTP; 00066 } 00067 00068 fsHttpConnection* fsInternetURLServer::GetHttpServer() 00069 { 00070 return &m_httpServer; 00071 } 00072 00073 fsFtpConnection* fsInternetURLServer::GetFtpServer() 00074 { 00075 return &m_ftpServer; 00076 } 00077 00078 BOOL fsInternetURLServer::IsHttpsServer() 00079 { 00080 return m_scheme == INTERNET_SCHEME_HTTPS; 00081 } 00082 00083 INTERNET_SCHEME fsInternetURLServer::GetScheme() 00084 { 00085 return m_scheme; 00086 } 00087 00088 LPCSTR fsInternetURLServer::GetServerName() 00089 { 00090 return m_pServer ? m_pServer->GetServerName () : NULL; 00091 } 00092 00093 INTERNET_PORT fsInternetURLServer::GetServerPort() 00094 { 00095 return m_pServer ? m_pServer->GetServerPort () : (INTERNET_PORT) 0; 00096 } 00097 00098 fsInternetResult fsInternetURLServer::Initialize(fsInternetSession *pSession) 00099 { 00100 m_httpServer.Initialize (pSession); 00101 m_ftpServer.Initialize (pSession); 00102 00103 return IR_SUCCESS; 00104 } 00105 00106 void fsInternetURLServer::CloseHandle() 00107 { 00108 m_ftpServer.CloseHandle (); 00109 m_httpServer.CloseHandle (); 00110 } 00111 00112 void fsInternetURLServer::UseFtpPassiveMode(BOOL bUse) 00113 { 00114 m_ftpServer.UsePassiveMode (bUse); 00115 }
1.5.6