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 wxOutputStream
24 wxSocketOutputStream(wxSocketBase
& s
);
25 virtual ~wxSocketOutputStream();
27 wxOutputStream
& Write(const void *buffer
, size_t size
);
28 off_t
SeekO(off_t pos
, wxSeekMode mode
) { return -1; }
29 off_t
TellO() { return -1; }
31 bool Bad() { return m_o_socket
->IsDisconnected(); }
32 size_t LastWrite() { return m_o_socket
->LastCount(); }
34 wxSocketBase
*m_o_socket
;
37 class WXDLLEXPORT wxSocketInputStream
: public wxInputStream
40 wxSocketInputStream(wxSocketBase
& s
);
41 ~wxSocketInputStream();
43 wxInputStream
& Read(void *buffer
, size_t size
);
44 off_t
SeekI(off_t pos
, wxSeekMode mode
) { return -1; }
45 off_t
TellI() { return -1; }
47 bool Eof() { return m_i_socket
->IsDisconnected(); }
48 size_t LastRead() { return m_i_socket
->LastCount(); }
50 wxSocketBase
*m_i_socket
;
53 class WXDLLEXPORT wxSocketStream
: public wxSocketInputStream
,
54 public wxSocketOutputStream
,
58 wxSocketStream(wxSocketBase
& i_s
, wxSocketBase
& o_s
);
59 wxSocketStream(wxSocketBase
& s
);