]> git.saurik.com Git - wxWidgets.git/blame_incremental - src/common/sckstrm.cpp
Made changes to allow build with new mingw32/gcc-2.95
[wxWidgets.git] / src / common / sckstrm.cpp
... / ...
CommitLineData
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#ifdef __GNUG__
12#pragma implementation "sckstrm.h"
13#endif
14
15// For compilers that support precompilation, includes "wx.h".
16#include "wx/wxprec.h"
17
18#ifdef __BORLANDC__
19 #pragma hdrstop
20#endif
21
22#ifndef WX_PRECOMP
23 #include "wx/defs.h"
24#endif
25
26#if wxUSE_SOCKETS && wxUSE_STREAMS
27
28#include "wx/stream.h"
29#include "wx/socket.h"
30#include "wx/sckstrm.h"
31
32// ---------------------------------------------------------------------------
33// wxSocketOutputStream
34// ---------------------------------------------------------------------------
35
36wxSocketOutputStream::wxSocketOutputStream(wxSocketBase& s)
37 : m_o_socket(&s)
38{
39}
40
41wxSocketOutputStream::~wxSocketOutputStream()
42{
43}
44
45size_t wxSocketOutputStream::OnSysWrite(const void *buffer, size_t size)
46{
47 size_t ret;
48
49 ret = m_o_socket->Write((const char *)buffer, size).LastCount();
50 switch (m_o_socket->LastError()) {
51 case GSOCK_NOERROR:
52 m_lasterror = wxStream_NOERROR;
53 break;
54 default:
55 m_lasterror = wxStream_READ_ERR;
56 break;
57 }
58 return ret;
59
60}
61
62// ---------------------------------------------------------------------------
63// wxSocketInputStream
64// ---------------------------------------------------------------------------
65
66wxSocketInputStream::wxSocketInputStream(wxSocketBase& s)
67 : m_i_socket(&s)
68{
69}
70
71wxSocketInputStream::~wxSocketInputStream()
72{
73}
74
75size_t wxSocketInputStream::OnSysRead(void *buffer, size_t size)
76{
77 size_t ret;
78
79 ret = m_i_socket->Read((char *)buffer, size).LastCount();
80 switch (m_i_socket->LastError()) {
81 case GSOCK_NOERROR:
82 m_lasterror = wxStream_NOERROR;
83 break;
84 default:
85 m_lasterror = wxStream_WRITE_ERR;
86 break;
87 }
88 return ret;
89}
90
91// ---------------------------------------------------------------------------
92// wxSocketStream
93// ---------------------------------------------------------------------------
94
95wxSocketStream::wxSocketStream(wxSocketBase& s)
96 : wxSocketInputStream(s), wxSocketOutputStream(s)
97{
98}
99
100wxSocketStream::~wxSocketStream()
101{
102}
103
104#endif
105 // wxUSE_STREAMS && wxUSE_SOCKETS