00001 00002 #ifdef WIN32 00003 #pragma warning (disable:4786) 00004 #endif 00005 00006 #include "API/Network/buffered_socket.h" 00007 #include "buffered_socket_generic.h" 00008 00010 // CL_BufferedSocket construction: 00011 00012 CL_BufferedSocket::CL_BufferedSocket(int socket) 00013 : CL_Socket(socket), impl(NULL) 00014 { 00015 impl = new CL_BufferedSocket_Generic(CL_Socket::impl); 00016 CL_Socket::impl = impl; 00017 } 00018 00019 CL_BufferedSocket::CL_BufferedSocket(CL_Socket::Type type) 00020 : CL_Socket(type), impl(NULL) 00021 { 00022 impl = new CL_BufferedSocket_Generic(CL_Socket::impl); 00023 CL_Socket::impl = impl; 00024 } 00025 00026 CL_BufferedSocket::CL_BufferedSocket(const CL_Socket ©) 00027 : CL_Socket(new CL_BufferedSocket_Generic(copy.impl)), impl(NULL) 00028 { 00029 impl = static_cast<CL_BufferedSocket_Generic *>(CL_Socket::impl); 00030 } 00031 00032 CL_BufferedSocket::CL_BufferedSocket(const CL_BufferedSocket ©) 00033 : CL_Socket(copy.impl), impl(copy.impl) 00034 { 00035 } 00036 00037 CL_BufferedSocket::~CL_BufferedSocket() 00038 { 00039 // no need to delete impl; that is handled by CL_Socket. 00040 } 00041 00043 // CL_BufferedSocket attributes: 00044 00045 int CL_BufferedSocket::get_input_buffer_size() const 00046 { 00047 return impl->get_input_buffer_size(); 00048 } 00049 00051 // CL_BufferedSocket operations: 00052 00053 void CL_BufferedSocket::set_input_buffer_size(int size) 00054 { 00055 impl->set_input_buffer_size(size); 00056 } 00057 00059 // Implementation:
1.2.6 written by Dimitri van Heesch,
© 1997-2001