X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f61815af20ebb943000d36ea01489f6115e4061c..236a9de39afa090fdee3cf91cb5364ceca69e3f8:/src/common/protocol.cpp diff --git a/src/common/protocol.cpp b/src/common/protocol.cpp index 1f5fb7adfd..542752e318 100644 --- a/src/common/protocol.cpp +++ b/src/common/protocol.cpp @@ -20,8 +20,6 @@ #pragma hdrstop #endif -#if wxUSE_SOCKETS - #include "wx/protocol/protocol.h" #include "wx/url.h" #include "wx/module.h" @@ -53,18 +51,26 @@ 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; - if (!GetPeer(addr)) { + if (!GetPeer(addr)) + { Close(); return FALSE; } @@ -72,6 +78,7 @@ bool wxProtocol::Reconnect() return FALSE; if (!Connect(addr)) return FALSE; + return TRUE; } @@ -83,7 +90,7 @@ wxProtocolError GetLine(wxSocketBase *sock, wxString& result) { bool found; avail = sock->Read(tmp_buf, PROTO_BSIZE).LastCount(); - if (sock->LastError() != 0 || avail == 0) + if (sock->Error() || avail == 0) return wxPROTO_NETERR; memcpy(tmp_str, tmp_buf, avail); @@ -105,10 +112,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 @@ -122,12 +130,11 @@ public: void OnExit(); }; -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxProtocolModule, wxModule) -#endif bool wxProtocolModule::OnInit() { +#if wxUSE_SOCKETS char *env_http_prox; wxURL::g_proxy = NULL; @@ -135,16 +142,17 @@ bool wxProtocolModule::OnInit() env_http_prox = getenv("HTTP_PROXY"); if (env_http_prox) wxURL::SetDefaultProxy(env_http_prox); +#endif return TRUE; } void wxProtocolModule::OnExit() { +#if wxUSE_SOCKETS if (wxURL::g_proxy) delete wxURL::g_proxy; wxURL::g_proxy = NULL; +#endif } -#endif - // wxUSE_SOCKETS