home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2233.zip / wxOS2-2_3_3.zip / wxWindows-2.3.3 / src / common / sckstrm.cpp < prev    next >
C/C++ Source or Header  |  1999-09-15  |  2KB  |  102 lines

  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.cpp,v 1.9 1999/09/15 00:17:15 GRG Exp $
  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.  
  36. wxSocketOutputStream::wxSocketOutputStream(wxSocketBase& s)
  37.   : m_o_socket(&s)
  38. {
  39. }
  40.  
  41. wxSocketOutputStream::~wxSocketOutputStream()
  42. {
  43. }
  44.  
  45. size_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.  
  51.   if (m_o_socket->Error())
  52.     m_lasterror = wxStream_WRITE_ERR;
  53.   else
  54.     m_lasterror = wxStream_NOERROR;
  55.  
  56.   return ret;
  57.  
  58. }
  59.  
  60. // ---------------------------------------------------------------------------
  61. // wxSocketInputStream
  62. // ---------------------------------------------------------------------------
  63.  
  64. wxSocketInputStream::wxSocketInputStream(wxSocketBase& s)
  65.  : m_i_socket(&s)
  66. {
  67. }
  68.  
  69. wxSocketInputStream::~wxSocketInputStream()
  70. {
  71. }
  72.  
  73. size_t wxSocketInputStream::OnSysRead(void *buffer, size_t size)
  74. {
  75.   size_t ret;
  76.  
  77.   ret = m_i_socket->Read((char *)buffer, size).LastCount();
  78.  
  79.   if (m_i_socket->Error())
  80.     m_lasterror = wxStream_READ_ERR;
  81.   else
  82.     m_lasterror = wxStream_NOERROR;
  83.  
  84.   return ret;
  85. }
  86.  
  87. // ---------------------------------------------------------------------------
  88. // wxSocketStream
  89. // ---------------------------------------------------------------------------
  90.  
  91. wxSocketStream::wxSocketStream(wxSocketBase& s)
  92.   : wxSocketInputStream(s), wxSocketOutputStream(s)
  93. {
  94. }
  95.  
  96. wxSocketStream::~wxSocketStream()
  97. {
  98. }
  99.  
  100. #endif
  101.   // wxUSE_STREAMS && wxUSE_SOCKETS
  102.