]> git.saurik.com Git - wxWidgets.git/blob - src/common/sckstrm.cpp
applied patch 1411688
[wxWidgets.git] / src / common / sckstrm.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: sckstrm.h
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 #ifndef WX_PRECOMP
20 #include "wx/defs.h"
21 #endif
22
23 #if wxUSE_SOCKETS && wxUSE_STREAMS
24
25 #include "wx/stream.h"
26 #include "wx/socket.h"
27 #include "wx/sckstrm.h"
28
29 // ---------------------------------------------------------------------------
30 // wxSocketOutputStream
31 // ---------------------------------------------------------------------------
32
33 wxSocketOutputStream::wxSocketOutputStream(wxSocketBase& s)
34 : m_o_socket(&s)
35 {
36 }
37
38 wxSocketOutputStream::~wxSocketOutputStream()
39 {
40 }
41
42 size_t wxSocketOutputStream::OnSysWrite(const void *buffer, size_t size)
43 {
44 size_t ret = m_o_socket->Write((const char *)buffer, size).LastCount();
45
46 m_lasterror = m_o_socket->Error() ? wxSTREAM_WRITE_ERROR : wxSTREAM_NO_ERROR;
47
48 return ret;
49 }
50
51 // ---------------------------------------------------------------------------
52 // wxSocketInputStream
53 // ---------------------------------------------------------------------------
54
55 wxSocketInputStream::wxSocketInputStream(wxSocketBase& s)
56 : m_i_socket(&s)
57 {
58 }
59
60 wxSocketInputStream::~wxSocketInputStream()
61 {
62 }
63
64 size_t wxSocketInputStream::OnSysRead(void *buffer, size_t size)
65 {
66 size_t ret = m_i_socket->Read((char *)buffer, size).LastCount();
67
68 m_lasterror = m_i_socket->Error() ? wxSTREAM_READ_ERROR : wxSTREAM_NO_ERROR;
69
70 return ret;
71 }
72
73 // ---------------------------------------------------------------------------
74 // wxSocketStream
75 // ---------------------------------------------------------------------------
76
77 wxSocketStream::wxSocketStream(wxSocketBase& s)
78 : wxSocketInputStream(s), wxSocketOutputStream(s)
79 {
80 }
81
82 wxSocketStream::~wxSocketStream()
83 {
84 }
85
86 #endif
87 // wxUSE_STREAMS && wxUSE_SOCKETS