X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ce4169a4d129fc6cd165b2e9ccc5cf5d48356020..fec911b8c66f9871f8b7497c6bbbb4105f250704:/src/common/sckstrm.cpp diff --git a/src/common/sckstrm.cpp b/src/common/sckstrm.cpp index f7796cea3b..f060b3fd1f 100644 --- a/src/common/sckstrm.cpp +++ b/src/common/sckstrm.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: sckstrm.h +// Name: src/common/sckstrm.cpp // Purpose: wxSocket*Stream // Author: Guilhem Lavaux // Modified by: @@ -8,26 +8,23 @@ // Copyright: (c) // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "sckstrm.h" -#endif // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ - #pragma hdrstop + #pragma hdrstop #endif +#if wxUSE_SOCKETS && wxUSE_STREAMS + +#include "wx/sckstrm.h" + #ifndef WX_PRECOMP - #include "wx/defs.h" + #include "wx/stream.h" #endif -#if wxUSE_SOCKETS && wxUSE_STREAMS - -#include "wx/stream.h" #include "wx/socket.h" -#include "wx/sckstrm.h" // --------------------------------------------------------------------------- // wxSocketOutputStream @@ -42,15 +39,14 @@ wxSocketOutputStream::~wxSocketOutputStream() { } -wxOutputStream& wxSocketOutputStream::Write(const void *buffer, size_t size) -{ - m_lastcount = m_o_socket->Write((const char *)buffer, size).LastCount(); - return *this; -} - size_t wxSocketOutputStream::OnSysWrite(const void *buffer, size_t size) { - return m_o_socket->Write((const char *)buffer, size).LastCount(); + const size_t ret = m_o_socket->Write(buffer, size).LastCount(); + m_lasterror = m_o_socket->Error() + ? m_o_socket->IsClosed() ? wxSTREAM_EOF + : wxSTREAM_WRITE_ERROR + : wxSTREAM_NO_ERROR; + return ret; } // --------------------------------------------------------------------------- @@ -66,15 +62,14 @@ wxSocketInputStream::~wxSocketInputStream() { } -wxInputStream& wxSocketInputStream::Read(void *buffer, size_t size) -{ - m_lastcount = m_i_socket->Read((char *)buffer, size).LastCount(); - return *this; -} - size_t wxSocketInputStream::OnSysRead(void *buffer, size_t size) { - return m_i_socket->Read((char *)buffer, size).LastCount(); + const size_t ret = m_i_socket->Read(buffer, size).LastCount(); + m_lasterror = m_i_socket->Error() + ? m_i_socket->IsClosed() ? wxSTREAM_EOF + : wxSTREAM_READ_ERROR + : wxSTREAM_NO_ERROR; + return ret; } // --------------------------------------------------------------------------- @@ -90,5 +85,4 @@ wxSocketStream::~wxSocketStream() { } -#endif - // wxUSE_STREAMS && wxUSE_SOCKETS +#endif // wxUSE_STREAMS && wxUSE_SOCKETS