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: sckstrm.h 41020 2006-09-05 20:47:48Z VZ $ 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 20class 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 DECLARE_NO_COPY_CLASS(wxSocketOutputStream) 37}; 38 39class 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 DECLARE_NO_COPY_CLASS(wxSocketInputStream) 56}; 57 58class WXDLLIMPEXP_NET wxSocketStream : public wxSocketInputStream, 59 public wxSocketOutputStream 60{ 61 public: 62 wxSocketStream(wxSocketBase& s); 63 virtual ~wxSocketStream(); 64 65 DECLARE_NO_COPY_CLASS(wxSocketStream) 66}; 67 68#endif 69 // wxUSE_SOCKETS && wxUSE_STREAMS 70 71#endif 72 // __SCK_STREAM_H__ 73