]> git.saurik.com Git - wxWidgets.git/blame - include/wx/sckstrm.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / sckstrm.h
CommitLineData
f4ada568 1/////////////////////////////////////////////////////////////////////////////
80fdcdb9 2// Name: wx/sckstrm.h
f4ada568
GL
3// Purpose: wxSocket*Stream
4// Author: Guilhem Lavaux
5// Modified by:
6// Created: 17/07/97
f4ada568 7// Copyright: (c)
65571936 8// Licence: wxWindows licence
f4ada568
GL
9/////////////////////////////////////////////////////////////////////////////
10#ifndef __SCK_STREAM_H__
11#define __SCK_STREAM_H__
12
f4ada568 13#include "wx/stream.h"
ce4169a4
RR
14
15#if wxUSE_SOCKETS && wxUSE_STREAMS
16
f4ada568
GL
17#include "wx/socket.h"
18
7c4728f6 19class WXDLLIMPEXP_NET wxSocketOutputStream : public wxOutputStream
f4ada568 20{
a9a2485d
FM
21public:
22 wxSocketOutputStream(wxSocketBase& s);
23 virtual ~wxSocketOutputStream();
f4ada568 24
a9a2485d
FM
25protected:
26 wxSocketBase *m_o_socket;
f4ada568 27
a9a2485d 28 size_t OnSysWrite(const void *buffer, size_t bufsize);
375abe3d 29
a9a2485d 30 // socket streams are both un-seekable and size-less streams:
03647350 31 wxFileOffset OnSysTell() const
a9a2485d 32 { return wxInvalidOffset; }
03647350 33 wxFileOffset OnSysSeek(wxFileOffset WXUNUSED(pos), wxSeekMode WXUNUSED(mode))
a9a2485d 34 { return wxInvalidOffset; }
22f3361e 35
c0c133e1 36 wxDECLARE_NO_COPY_CLASS(wxSocketOutputStream);
f4ada568
GL
37};
38
7c4728f6 39class WXDLLIMPEXP_NET wxSocketInputStream : public wxInputStream
f4ada568 40{
a9a2485d
FM
41public:
42 wxSocketInputStream(wxSocketBase& s);
43 virtual ~wxSocketInputStream();
f4ada568 44
a9a2485d
FM
45protected:
46 wxSocketBase *m_i_socket;
f4ada568 47
a9a2485d 48 size_t OnSysRead(void *buffer, size_t bufsize);
375abe3d 49
a9a2485d
FM
50 // socket streams are both un-seekable and size-less streams:
51
03647350 52 wxFileOffset OnSysTell() const
a9a2485d 53 { return wxInvalidOffset; }
03647350 54 wxFileOffset OnSysSeek(wxFileOffset WXUNUSED(pos), wxSeekMode WXUNUSED(mode))
a9a2485d 55 { return wxInvalidOffset; }
22f3361e 56
c0c133e1 57 wxDECLARE_NO_COPY_CLASS(wxSocketInputStream);
f4ada568
GL
58};
59
7c4728f6 60class WXDLLIMPEXP_NET wxSocketStream : public wxSocketInputStream,
1777b9bb 61 public wxSocketOutputStream
75ed1d15 62{
a9a2485d
FM
63public:
64 wxSocketStream(wxSocketBase& s);
65 virtual ~wxSocketStream();
fc7a2a60 66
a9a2485d 67 wxDECLARE_NO_COPY_CLASS(wxSocketStream);
f4ada568
GL
68};
69
70#endif
ce4169a4
RR
71 // wxUSE_SOCKETS && wxUSE_STREAMS
72
73#endif
a324a7bc 74 // __SCK_STREAM_H__