X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e22036dc390137b9926a5f87ea08399332da0b6d..b33f7651ae55310d7d76b0205e409464ba8af484:/include/wx/sckstrm.h?ds=sidebyside diff --git a/include/wx/sckstrm.h b/include/wx/sckstrm.h index 86782eddf2..a987d8c15e 100644 --- a/include/wx/sckstrm.h +++ b/include/wx/sckstrm.h @@ -11,56 +11,66 @@ #ifndef __SCK_STREAM_H__ #define __SCK_STREAM_H__ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface #endif #include "wx/stream.h" + +#if wxUSE_SOCKETS && wxUSE_STREAMS + #include "wx/socket.h" -class WXDLLEXPORT wxSocketOutputStream : public wxOutputStream +class WXDLLIMPEXP_NET wxSocketOutputStream : public wxOutputStream { public: wxSocketOutputStream(wxSocketBase& s); - virtual ~wxSocketOutputStream(); + ~wxSocketOutputStream(); - wxOutputStream& Write(const void *buffer, size_t size); - off_t SeekO( off_t WXUNUSED(pos), wxSeekMode WXUNUSED(mode) ) + off_t SeekO( off_t WXUNUSED(pos), wxSeekMode WXUNUSED(mode) ) { return -1; } - off_t TellO() + off_t TellO() const { return -1; } - bool Bad() { return m_o_socket->IsDisconnected(); } - size_t LastWrite() { return m_o_socket->LastCount(); } protected: wxSocketBase *m_o_socket; + + size_t OnSysWrite(const void *buffer, size_t bufsize); + + DECLARE_NO_COPY_CLASS(wxSocketOutputStream) }; -class WXDLLEXPORT wxSocketInputStream : public wxInputStream +class WXDLLIMPEXP_NET wxSocketInputStream : public wxInputStream { public: wxSocketInputStream(wxSocketBase& s); ~wxSocketInputStream(); - wxInputStream& Read(void *buffer, size_t size); - off_t SeekI( off_t WXUNUSED(pos), wxSeekMode WXUNUSED(mode) ) + off_t SeekI( off_t WXUNUSED(pos), wxSeekMode WXUNUSED(mode) ) { return -1; } - off_t TellI() + off_t TellI() const { return -1; } - bool Eof() { return m_i_socket->IsDisconnected(); } - size_t LastRead() { return m_i_socket->LastCount(); } protected: wxSocketBase *m_i_socket; -}; -class WXDLLEXPORT wxSocketStream : public wxSocketInputStream, - public wxSocketOutputStream, - public wxStream { + size_t OnSysRead(void *buffer, size_t bufsize); + DECLARE_NO_COPY_CLASS(wxSocketInputStream) +}; + +class WXDLLIMPEXP_NET wxSocketStream : public wxSocketInputStream, + public wxSocketOutputStream +{ public: - wxSocketStream(wxSocketBase& i_s, wxSocketBase& o_s); wxSocketStream(wxSocketBase& s); + ~wxSocketStream(); + + DECLARE_NO_COPY_CLASS(wxSocketStream) }; #endif + // wxUSE_SOCKETS && wxUSE_STREAMS + +#endif + // __SCK_STREAM_H__