]>
Commit | Line | Data |
---|---|---|
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 | 19 | class WXDLLIMPEXP_NET wxSocketOutputStream : public wxOutputStream |
f4ada568 | 20 | { |
a9a2485d FM |
21 | public: |
22 | wxSocketOutputStream(wxSocketBase& s); | |
23 | virtual ~wxSocketOutputStream(); | |
f4ada568 | 24 | |
a9a2485d FM |
25 | protected: |
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 | 39 | class WXDLLIMPEXP_NET wxSocketInputStream : public wxInputStream |
f4ada568 | 40 | { |
a9a2485d FM |
41 | public: |
42 | wxSocketInputStream(wxSocketBase& s); | |
43 | virtual ~wxSocketInputStream(); | |
f4ada568 | 44 | |
a9a2485d FM |
45 | protected: |
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 | 60 | class WXDLLIMPEXP_NET wxSocketStream : public wxSocketInputStream, |
1777b9bb | 61 | public wxSocketOutputStream |
75ed1d15 | 62 | { |
a9a2485d FM |
63 | public: |
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__ |