// Destroy the GSocket object
if (m_socket)
- GSocket_destroy(m_socket);
+ delete m_socket;
// Free the pushback buffer
if (m_unread)
if (m_socket)
{
// Disable callbacks
- GSocket_UnsetCallback(m_socket, GSOCK_INPUT_FLAG | GSOCK_OUTPUT_FLAG |
+ m_socket->UnsetCallback(GSOCK_INPUT_FLAG | GSOCK_OUTPUT_FLAG |
GSOCK_LOST_FLAG | GSOCK_CONNECTION_FLAG);
// Shutdown the connection
- GSocket_Shutdown(m_socket);
+ m_socket->Shutdown();
}
m_connected = FALSE;
int ret;
if (m_flags & wxSOCKET_NOWAIT)
{
- GSocket_SetNonBlocking(m_socket, 1);
- ret = GSocket_Read(m_socket, (char *)buffer, nbytes);
- GSocket_SetNonBlocking(m_socket, 0);
+ m_socket->SetNonBlocking(1);
+ ret = m_socket->Read((char *)buffer, nbytes);
+ m_socket->SetNonBlocking(0);
if (ret > 0)
total += ret;
if ( !(m_flags & wxSOCKET_BLOCK) && !WaitForRead() )
break;
- ret = GSocket_Read(m_socket, (char *)buffer, nbytes);
+ ret = m_socket->Read((char *)buffer, nbytes);
if (ret > 0)
{
int ret;
if (m_flags & wxSOCKET_NOWAIT)
{
- GSocket_SetNonBlocking(m_socket, 1);
- ret = GSocket_Write(m_socket, (const char *)buffer, nbytes);
- GSocket_SetNonBlocking(m_socket, 0);
+ m_socket->SetNonBlocking(1);
+ ret = m_socket->Write((const char *)buffer, nbytes);
+ m_socket->SetNonBlocking(0);
if (ret > 0)
total = ret;
if ( !(m_flags & wxSOCKET_BLOCK) && !WaitForWrite() )
break;
- ret = GSocket_Write(m_socket, (const char *)buffer, nbytes);
+ ret = m_socket->Write((const char *)buffer, nbytes);
if (ret > 0)
{
timeout = m_timeout * 1000;
#if !defined(wxUSE_GUI) || !wxUSE_GUI
- GSocket_SetTimeout(m_socket, timeout);
+ m_socket->SetTimeout(timeout);
#endif
// Wait in an active polling loop.
while (!done)
{
- result = GSocket_Select(m_socket, flags | GSOCK_LOST_FLAG);
+ result = m_socket->Select(flags | GSOCK_LOST_FLAG);
// Incoming connection (server) or connection established (client)
if (result & GSOCK_CONNECTION_FLAG)
if (!m_socket)
return FALSE;
- peer = GSocket_GetPeer(m_socket);
+ peer = m_socket->GetPeer();
// copying a null address would just trigger an assert anyway
if (!m_socket)
return FALSE;
- local = GSocket_GetLocal(m_socket);
+ local = m_socket->GetLocal();
addr_man.SetAddress(local);
GAddress_destroy(local);
m_timeout = seconds;
if (m_socket)
- GSocket_SetTimeout(m_socket, m_timeout * 1000);
+ m_socket->SetTimeout(m_timeout * 1000);
}
void wxSocketBase::SetFlags(wxSocketFlags flags)
// which are no longer valid.
case wxSOCKET_INPUT:
- if (m_reading || !GSocket_Select(m_socket, GSOCK_INPUT_FLAG))
+ if (m_reading || !m_socket->Select(GSOCK_INPUT_FLAG))
return;
break;
case wxSOCKET_OUTPUT:
- if (m_writing || !GSocket_Select(m_socket, GSOCK_OUTPUT_FLAG))
+ if (m_writing || !m_socket->Select(GSOCK_OUTPUT_FLAG))
return;
break;
// Setup the socket as server
- GSocket_SetLocal(m_socket, addr_man.GetAddress());
+ m_socket->SetLocal(addr_man.GetAddress());
if (GetFlags() & wxSOCKET_REUSEADDR) {
- GSocket_SetReusable(m_socket);
+ m_socket->SetReusable();
}
- if (GSocket_SetServer(m_socket) != GSOCK_NOERROR)
+ if (m_socket->SetServer() != GSOCK_NOERROR)
{
- GSocket_destroy(m_socket);
+ delete m_socket;
m_socket = NULL;
wxLogTrace( wxTRACE_Socket, _T("*** GSocket_SetServer failed") );
return;
}
- GSocket_SetTimeout(m_socket, m_timeout * 1000);
- GSocket_SetCallback(m_socket, GSOCK_INPUT_FLAG | GSOCK_OUTPUT_FLAG |
+ m_socket->SetTimeout(m_timeout * 1000);
+ m_socket->SetCallback(GSOCK_INPUT_FLAG | GSOCK_OUTPUT_FLAG |
GSOCK_LOST_FLAG | GSOCK_CONNECTION_FLAG,
wx_socket_callback, (char *)this);
}
// again.
if (!wait)
- GSocket_SetNonBlocking(m_socket, 1);
+ m_socket->SetNonBlocking(1);
- child_socket = GSocket_WaitConnection(m_socket);
+ child_socket = m_socket->WaitConnection();
if (!wait)
- GSocket_SetNonBlocking(m_socket, 0);
+ m_socket->SetNonBlocking(0);
if (!child_socket)
return FALSE;
sock.m_socket = child_socket;
sock.m_connected = TRUE;
- GSocket_SetTimeout(sock.m_socket, sock.m_timeout * 1000);
- GSocket_SetCallback(sock.m_socket, GSOCK_INPUT_FLAG | GSOCK_OUTPUT_FLAG |
+ sock.m_socket->SetTimeout(sock.m_timeout * 1000);
+ sock.m_socket->SetCallback(GSOCK_INPUT_FLAG | GSOCK_OUTPUT_FLAG |
GSOCK_LOST_FLAG | GSOCK_CONNECTION_FLAG,
wx_socket_callback, (char *)&sock);
bool wxSocketBase::GetOption(int level, int optname, void *optval, int *optlen)
{
- if (GSocket_GetSockOpt(m_socket, level, optname, optval, optlen)
+ if (m_socket->GetSockOpt(level, optname, optval, optlen)
!= GSOCK_NOERROR)
{
return FALSE;
bool wxSocketBase::SetOption(int level, int optname, const void *optval,
int optlen)
{
- if (GSocket_SetSockOpt(m_socket, level, optname, optval, optlen)
+ if (m_socket->SetSockOpt(level, optname, optval, optlen)
!= GSOCK_NOERROR)
{
return FALSE;
{
// Shutdown and destroy the socket
Close();
- GSocket_destroy(m_socket);
+ delete m_socket;
}
m_socket = GSocket_new();
if (!m_socket)
return FALSE;
- GSocket_SetTimeout(m_socket, m_timeout * 1000);
- GSocket_SetCallback(m_socket, GSOCK_INPUT_FLAG | GSOCK_OUTPUT_FLAG |
+ m_socket->SetTimeout(m_timeout * 1000);
+ m_socket->SetCallback(GSOCK_INPUT_FLAG | GSOCK_OUTPUT_FLAG |
GSOCK_LOST_FLAG | GSOCK_CONNECTION_FLAG,
wx_socket_callback, (char *)this);
// again.
if (!wait)
- GSocket_SetNonBlocking(m_socket, 1);
+ m_socket->SetNonBlocking(1);
- GSocket_SetPeer(m_socket, addr_man.GetAddress());
- err = GSocket_Connect(m_socket, GSOCK_STREAMED);
+ m_socket->SetPeer(addr_man.GetAddress());
+ err = m_socket->Connect(GSOCK_STREAMED);
if (!wait)
- GSocket_SetNonBlocking(m_socket, 0);
+ m_socket->SetNonBlocking(0);
if (err != GSOCK_NOERROR)
{
return;
}
// Setup the socket as non connection oriented
- GSocket_SetLocal(m_socket, addr.GetAddress());
- if( GSocket_SetNonOriented(m_socket) != GSOCK_NOERROR )
+ m_socket->SetLocal(addr.GetAddress());
+ if( m_socket->SetNonOriented() != GSOCK_NOERROR )
{
- GSocket_destroy(m_socket);
+ delete m_socket;
m_socket = NULL;
return;
}
// Initialize all stuff
m_connected = FALSE;
m_establishing = FALSE;
- GSocket_SetTimeout( m_socket, m_timeout );
- GSocket_SetCallback( m_socket, GSOCK_INPUT_FLAG | GSOCK_OUTPUT_FLAG |
+ m_socket->SetTimeout( m_timeout );
+ m_socket->SetCallback( GSOCK_INPUT_FLAG | GSOCK_OUTPUT_FLAG |
GSOCK_LOST_FLAG | GSOCK_CONNECTION_FLAG,
wx_socket_callback, (char*)this );
const void* buf,
wxUint32 nBytes )
{
- GSocket_SetPeer(m_socket, addr.GetAddress());
+ m_socket->SetPeer(addr.GetAddress());
Write(buf, nBytes);
return (*this);
}