X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f4ada568223b79c8a5769cc351c36a8e2ccd7841..0c089c08261235630426ccedb29d7049f1cef1bd:/src/common/sckstrm.cpp diff --git a/src/common/sckstrm.cpp b/src/common/sckstrm.cpp index c0846c46aa..a65f0a0c03 100644 --- a/src/common/sckstrm.cpp +++ b/src/common/sckstrm.cpp @@ -8,10 +8,23 @@ // Copyright: (c) // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "sckstrm.h" #endif +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#ifndef WX_PRECOMP + #include "wx/defs.h" +#endif + +#if wxUSE_SOCKETS && wxUSE_STREAMS + #include "wx/stream.h" #include "wx/socket.h" #include "wx/sckstrm.h" @@ -29,10 +42,13 @@ wxSocketOutputStream::~wxSocketOutputStream() { } -wxOutputStream& wxSocketOutputStream::Write(const void *buffer, size_t size) +size_t wxSocketOutputStream::OnSysWrite(const void *buffer, size_t size) { - m_o_socket->Write((const char *)buffer, size); - return *this; + size_t ret = m_o_socket->Write((const char *)buffer, size).LastCount(); + + m_lasterror = m_o_socket->Error() ? wxSTREAM_WRITE_ERROR : wxSTREAM_NO_ERROR; + + return ret; } // --------------------------------------------------------------------------- @@ -48,21 +64,27 @@ wxSocketInputStream::~wxSocketInputStream() { } -wxInputStream& wxSocketInputStream::Read(void *buffer, size_t size) +size_t wxSocketInputStream::OnSysRead(void *buffer, size_t size) { - m_i_socket->Read((char *)buffer, size); - return *this; + size_t ret = m_i_socket->Read((char *)buffer, size).LastCount(); + + m_lasterror = m_i_socket->Error() ? wxSTREAM_READ_ERROR : wxSTREAM_NO_ERROR; + + return ret; } // --------------------------------------------------------------------------- -// wxSocketStream (IO) +// wxSocketStream // --------------------------------------------------------------------------- -wxSocketStream::wxSocketStream(wxSocketBase& i_s, wxSocketBase& o_s) - : wxSocketInputStream(i_s), wxSocketOutputStream(o_s) -{ -} wxSocketStream::wxSocketStream(wxSocketBase& s) : wxSocketInputStream(s), wxSocketOutputStream(s) { } + +wxSocketStream::~wxSocketStream() +{ +} + +#endif + // wxUSE_STREAMS && wxUSE_SOCKETS