X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4846abaf45a5a1b2ba4392fab7fdc45f1518f4d7..db434467a143a2c847c4bcfe987f0202c2d02bf2:/src/common/protocol.cpp diff --git a/src/common/protocol.cpp b/src/common/protocol.cpp index ac5020956f..eab8724ef4 100644 --- a/src/common/protocol.cpp +++ b/src/common/protocol.cpp @@ -17,19 +17,15 @@ #include "wx/wxprec.h" #ifdef __BORLANDC__ -#pragma hdrstop -#endif - -#if wxUSE_SOCKETS - -#ifndef WX_PRECOMP -#include + #pragma hdrstop #endif #include "wx/protocol/protocol.h" #include "wx/url.h" #include "wx/module.h" +#include + ///////////////////////////////////////////////////////////////// // wxProtoInfo ///////////////////////////////////////////////////////////////// @@ -55,13 +51,20 @@ wxProtoInfo::wxProtoInfo(const wxChar *name, const wxChar *serv, // wxProtocol /////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// +#if wxUSE_SOCKETS IMPLEMENT_ABSTRACT_CLASS(wxProtocol, wxSocketClient) +#else +IMPLEMENT_ABSTRACT_CLASS(wxProtocol, wxObject) +#endif wxProtocol::wxProtocol() +#if wxUSE_SOCKETS : wxSocketClient() +#endif { } +#if wxUSE_SOCKETS bool wxProtocol::Reconnect() { wxIPV4address addr; @@ -107,10 +110,11 @@ wxProtocolError GetLine(wxSocketBase *sock, wxString& result) { result = result.Left(result.Length()-1); size = ret-tmp_str+1; - sock->CreatePushbackBefore(&tmp_buf[size], avail-size); + sock->Unread(&tmp_buf[size], avail-size); return wxPROTO_NOERR; #undef PROTO_BSIZE } +#endif // ---------------------------------------------------------------------- // Module @@ -124,21 +128,29 @@ public: void OnExit(); }; -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxProtocolModule, wxModule) -#endif bool wxProtocolModule::OnInit() { - wxURL::g_proxy = new wxHTTP(); +#if wxUSE_SOCKETS + char *env_http_prox; + + wxURL::g_proxy = NULL; + // Initialize the proxy when HTTP_PROXY is defined + env_http_prox = getenv("HTTP_PROXY"); + if (env_http_prox) + wxURL::SetDefaultProxy(env_http_prox); +#endif + return TRUE; } void wxProtocolModule::OnExit() { - delete wxURL::g_proxy; +#if wxUSE_SOCKETS + if (wxURL::g_proxy) + delete wxURL::g_proxy; wxURL::g_proxy = NULL; +#endif } -#endif - // wxUSE_SOCKETS