]> git.saurik.com Git - wxWidgets.git/blob - include/wx/sckstrm.h
wxUSE_GSTREAMER is Unix-specific, remove it from common wx/setup_inc.h; it also requi...
[wxWidgets.git] / include / wx / sckstrm.h
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 #ifndef __SCK_STREAM_H__
12 #define __SCK_STREAM_H__
13
14 #include "wx/stream.h"
15
16 #if wxUSE_SOCKETS && wxUSE_STREAMS
17
18 #include "wx/socket.h"
19
20 class WXDLLIMPEXP_NET wxSocketOutputStream : public wxOutputStream
21 {
22 public:
23 wxSocketOutputStream(wxSocketBase& s);
24 virtual ~wxSocketOutputStream();
25
26 wxFileOffset SeekO( wxFileOffset WXUNUSED(pos), wxSeekMode WXUNUSED(mode) )
27 { return -1; }
28 wxFileOffset TellO() const
29 { return -1; }
30
31 protected:
32 wxSocketBase *m_o_socket;
33
34 size_t OnSysWrite(const void *buffer, size_t bufsize);
35
36 wxDECLARE_NO_COPY_CLASS(wxSocketOutputStream);
37 };
38
39 class WXDLLIMPEXP_NET wxSocketInputStream : public wxInputStream
40 {
41 public:
42 wxSocketInputStream(wxSocketBase& s);
43 virtual ~wxSocketInputStream();
44
45 wxFileOffset SeekI( wxFileOffset WXUNUSED(pos), wxSeekMode WXUNUSED(mode) )
46 { return -1; }
47 wxFileOffset TellI() const
48 { return -1; }
49
50 protected:
51 wxSocketBase *m_i_socket;
52
53 size_t OnSysRead(void *buffer, size_t bufsize);
54
55 wxDECLARE_NO_COPY_CLASS(wxSocketInputStream);
56 };
57
58 class WXDLLIMPEXP_NET wxSocketStream : public wxSocketInputStream,
59 public wxSocketOutputStream
60 {
61 public:
62 wxSocketStream(wxSocketBase& s);
63 virtual ~wxSocketStream();
64
65 wxDECLARE_NO_COPY_CLASS(wxSocketStream);
66 };
67
68 #endif
69 // wxUSE_SOCKETS && wxUSE_STREAMS
70
71 #endif
72 // __SCK_STREAM_H__