1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxSocket*Stream
4 // Author: Guilhem Lavaux
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11 #ifndef __SCK_STREAM_H__
12 #define __SCK_STREAM_H__
18 #include "wx/stream.h"
19 #include "wx/socket.h"
21 class WXDLLEXPORT wxSocketOutputStream
: public virtual wxOutputStream
24 wxSocketOutputStream(wxSocketBase
& s
);
25 virtual ~wxSocketOutputStream();
27 wxOutputStream
& Write(const void *buffer
, size_t size
);
28 off_t
SeekO( off_t
WXUNUSED(pos
), wxSeekMode
WXUNUSED(mode
) )
33 bool Bad() { return m_o_socket
->IsDisconnected(); }
34 size_t LastWrite() { return m_o_socket
->LastCount(); }
36 wxSocketBase
*m_o_socket
;
39 class WXDLLEXPORT wxSocketInputStream
: public virtual wxInputStream
42 wxSocketInputStream(wxSocketBase
& s
);
43 ~wxSocketInputStream();
45 wxInputStream
& Read(void *buffer
, size_t size
);
46 off_t
SeekI( off_t
WXUNUSED(pos
), wxSeekMode
WXUNUSED(mode
) )
51 bool Eof() { return m_i_socket
->IsDisconnected(); }
52 size_t LastRead() { return m_i_socket
->LastCount(); }
54 wxSocketBase
*m_i_socket
;
57 class WXDLLEXPORT wxSocketStream
: public wxSocketInputStream
,
58 public wxSocketOutputStream
,
62 wxSocketStream(wxSocketBase
& i_s
, wxSocketBase
& o_s
);
63 wxSocketStream(wxSocketBase
& s
);