1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
/*
$Id: buffered_socket.cpp,v 1.3 2001/09/08 19:24:18 japj Exp $
------------------------------------------------------------------------
ClanLib, the platform independent game SDK.
This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
version 2. See COPYING for details.
For a total list of contributers see CREDITS.
------------------------------------------------------------------------
*/
#ifdef WIN32
#pragma warning (disable:4786)
#endif
#include "API/Network/buffered_socket.h"
#include "buffered_socket_generic.h"
/////////////////////////////////////////////////////////////////////////////
// CL_BufferedSocket construction:
CL_BufferedSocket::CL_BufferedSocket(int socket)
: CL_Socket(socket), impl(NULL)
{
impl = new CL_BufferedSocket_Generic(CL_Socket::impl);
CL_Socket::impl = impl;
}
CL_BufferedSocket::CL_BufferedSocket(CL_Socket::Type type)
: CL_Socket(type), impl(NULL)
{
impl = new CL_BufferedSocket_Generic(CL_Socket::impl);
CL_Socket::impl = impl;
}
CL_BufferedSocket::CL_BufferedSocket(const CL_Socket ©)
: CL_Socket(new CL_BufferedSocket_Generic(copy.impl)), impl(NULL)
{
impl = static_cast<CL_BufferedSocket_Generic *>(CL_Socket::impl);
}
CL_BufferedSocket::CL_BufferedSocket(const CL_BufferedSocket ©)
: CL_Socket(copy.impl), impl(copy.impl)
{
}
CL_BufferedSocket::~CL_BufferedSocket()
{
// no need to delete impl; that is handled by CL_Socket.
}
/////////////////////////////////////////////////////////////////////////////
// CL_BufferedSocket attributes:
int CL_BufferedSocket::get_input_buffer_size() const
{
return impl->get_input_buffer_size();
}
/////////////////////////////////////////////////////////////////////////////
// CL_BufferedSocket operations:
void CL_BufferedSocket::set_input_buffer_size(int size)
{
impl->set_input_buffer_size(size);
}
/////////////////////////////////////////////////////////////////////////////
// Implementation:
|