wx/wxprec.h already includes wx/defs.h (with other minor cleaning).
[wxWidgets.git] / src / common / sckstrm.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: src/common/sckstrm.cpp
3 // Purpose: wxSocket*Stream
4 // Author: Guilhem Lavaux
5 // Modified by:
6 // Created: 17/07/97
7 // RCS-ID: $Id$
8 // Copyright: (c)
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 // For compilers that support precompilation, includes "wx.h".
13 #include "wx/wxprec.h"
14
15 #ifdef __BORLANDC__
16 #pragma hdrstop
17 #endif
18
19 #if wxUSE_SOCKETS && wxUSE_STREAMS
20
21 #ifndef WX_PRECOMP
22 #endif
23
24 #include "wx/stream.h"
25 #include "wx/socket.h"
26 #include "wx/sckstrm.h"
27
28 // ---------------------------------------------------------------------------
29 // wxSocketOutputStream
30 // ---------------------------------------------------------------------------
31
32 wxSocketOutputStream::wxSocketOutputStream(wxSocketBase& s)
33 : m_o_socket(&s)
34 {
35 }
36
37 wxSocketOutputStream::~wxSocketOutputStream()
38 {
39 }
40
41 size_t wxSocketOutputStream::OnSysWrite(const void *buffer, size_t size)
42 {
43 size_t ret = m_o_socket->Write((const char *)buffer, size).LastCount();
44
45 m_lasterror = m_o_socket->Error() ? wxSTREAM_WRITE_ERROR : wxSTREAM_NO_ERROR;
46
47 return ret;
48 }
49
50 // ---------------------------------------------------------------------------
51 // wxSocketInputStream
52 // ---------------------------------------------------------------------------
53
54 wxSocketInputStream::wxSocketInputStream(wxSocketBase& s)
55 : m_i_socket(&s)
56 {
57 }
58
59 wxSocketInputStream::~wxSocketInputStream()
60 {
61 }
62
63 size_t wxSocketInputStream::OnSysRead(void *buffer, size_t size)
64 {
65 size_t ret = m_i_socket->Read((char *)buffer, size).LastCount();
66
67 m_lasterror = m_i_socket->Error() ? wxSTREAM_READ_ERROR : wxSTREAM_NO_ERROR;
68
69 return ret;
70 }
71
72 // ---------------------------------------------------------------------------
73 // wxSocketStream
74 // ---------------------------------------------------------------------------
75
76 wxSocketStream::wxSocketStream(wxSocketBase& s)
77 : wxSocketInputStream(s), wxSocketOutputStream(s)
78 {
79 }
80
81 wxSocketStream::~wxSocketStream()
82 {
83 }
84
85 #endif
86 // wxUSE_STREAMS && wxUSE_SOCKETS