projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add libs html and xml to bakefiles of samples/contribs/demos using lib adv
[wxWidgets.git]
/
src
/
common
/
socket.cpp
diff --git
a/src/common/socket.cpp
b/src/common/socket.cpp
index 6bac25899db7ba82e4a9e62c2f88ee16f3c7cf09..247be68f8ea28480f73f7cfafeba25bcc97ef2d2 100644
(file)
--- a/
src/common/socket.cpp
+++ b/
src/common/socket.cpp
@@
-13,10
+13,6
@@
// Declarations
// ==========================================================================
// Declarations
// ==========================================================================
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "socket.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
@@
-40,6
+36,7
@@
#include "wx/sckaddr.h"
#include "wx/socket.h"
#include "wx/sckaddr.h"
#include "wx/socket.h"
+#include "wx/stopwatch.h"
// DLL options compatibility check:
#include "wx/build.h"
// DLL options compatibility check:
#include "wx/build.h"
@@
-98,7
+95,7
@@
public:
public:
wxSocketState() : wxObject() {}
public:
wxSocketState() : wxObject() {}
-
DECLARE_NO_COPY_CLASS(wxSocketState)
+ DECLARE_NO_COPY_CLASS(wxSocketState)
};
// ==========================================================================
};
// ==========================================================================
@@
-132,8
+129,13
@@
bool wxSocketBase::Initialize()
BTW, the main thread must not be stopped using sleep or block
on a semaphore (a bad idea in any case) or socket operations
will time out.
BTW, the main thread must not be stopped using sleep or block
on a semaphore (a bad idea in any case) or socket operations
will time out.
+
+ On the Mac side, Initialize() stores a pointer to the CFRunLoop for
+ the main thread. Because secondary threads do not have run loops,
+ adding event notifications to the "Current" loop would have no
+ effect at all, events would never fire.
*/
*/
- wxASSERT_MSG( wx
Thread::IsMain
(),
+ wxASSERT_MSG( wx
IsMainThread
(),
wxT("Call wxSocketBase::Initialize() from the main thread first!"));
wxAppTraits *traits = wxAppConsole::GetInstance() ?
wxT("Call wxSocketBase::Initialize() from the main thread first!"));
wxAppTraits *traits = wxAppConsole::GetInstance() ?
@@
-146,11
+148,11
@@
bool wxSocketBase::Initialize()
{
m_countInit--;
{
m_countInit--;
- return
FALSE
;
+ return
false
;
}
}
}
}
- return
TRUE
;
+ return
true
;
}
void wxSocketBase::Shutdown()
}
void wxSocketBase::Shutdown()
@@
-178,10
+180,10
@@
void wxSocketBase::Init()
m_establishing =
m_reading =
m_writing =
m_establishing =
m_reading =
m_writing =
- m_error =
FALSE
;
+ m_error =
false
;
m_lcount = 0;
m_timeout = 600;
m_lcount = 0;
m_timeout = 600;
- m_beingDeleted =
FALSE
;
+ m_beingDeleted =
false
;
// pushback buffer
m_unread = NULL;
// pushback buffer
m_unread = NULL;
@@
-189,10
+191,10
@@
void wxSocketBase::Init()
m_unrd_cur = 0;
// events
m_unrd_cur = 0;
// events
- m_id =
-1
;
+ m_id =
wxID_ANY
;
m_handler = NULL;
m_clientData = NULL;
m_handler = NULL;
m_clientData = NULL;
- m_notify =
FALSE
;
+ m_notify =
false
;
m_eventmask = 0;
if ( !IsInitialized() )
m_eventmask = 0;
if ( !IsInitialized() )
@@
-242,13
+244,13
@@
bool wxSocketBase::Destroy()
// Delayed destruction: the socket will be deleted during the next
// idle loop iteration. This ensures that all pending events have
// been processed.
// Delayed destruction: the socket will be deleted during the next
// idle loop iteration. This ensures that all pending events have
// been processed.
- m_beingDeleted =
TRUE
;
+ m_beingDeleted =
true
;
// Shutdown and close the socket
Close();
// Supress events from now on
// Shutdown and close the socket
Close();
// Supress events from now on
- Notify(
FALSE
);
+ Notify(
false
);
// schedule this object for deletion
wxAppTraits *traits = wxTheApp ? wxTheApp->GetTraits() : NULL;
// schedule this object for deletion
wxAppTraits *traits = wxTheApp ? wxTheApp->GetTraits() : NULL;
@@
-263,7
+265,7
@@
bool wxSocketBase::Destroy()
delete this;
}
delete this;
}
- return
TRUE
;
+ return
true
;
}
// --------------------------------------------------------------------------
}
// --------------------------------------------------------------------------
@@
-290,15
+292,15
@@
bool wxSocketBase::Close()
m_socket->Shutdown();
}
m_socket->Shutdown();
}
- m_connected =
FALSE
;
- m_establishing =
FALSE
;
- return
TRUE
;
+ m_connected =
false
;
+ m_establishing =
false
;
+ return
true
;
}
wxSocketBase& wxSocketBase::Read(void* buffer, wxUint32 nbytes)
{
// Mask read events
}
wxSocketBase& wxSocketBase::Read(void* buffer, wxUint32 nbytes)
{
// Mask read events
- m_reading =
TRUE
;
+ m_reading =
true
;
m_lcount = _Read(buffer, nbytes);
m_lcount = _Read(buffer, nbytes);
@@
-309,7
+311,7
@@
wxSocketBase& wxSocketBase::Read(void* buffer, wxUint32 nbytes)
m_error = (m_lcount == 0);
// Allow read events from now on
m_error = (m_lcount == 0);
// Allow read events from now on
- m_reading =
FALSE
;
+ m_reading =
false
;
return *this;
}
return *this;
}
@@
-319,7
+321,7
@@
wxUint32 wxSocketBase::_Read(void* buffer, wxUint32 nbytes)
int total;
// Try the pushback buffer first
int total;
// Try the pushback buffer first
- total = GetPushback(buffer, nbytes,
FALSE
);
+ total = GetPushback(buffer, nbytes,
false
);
nbytes -= total;
buffer = (char *)buffer + total;
nbytes -= total;
buffer = (char *)buffer + total;
@@
-350,7
+352,7
@@
wxUint32 wxSocketBase::_Read(void* buffer, wxUint32 nbytes)
}
else
{
}
else
{
- bool more =
TRUE
;
+ bool more =
true
;
while (more)
{
while (more)
{
@@
-389,10
+391,10
@@
wxSocketBase& wxSocketBase::ReadMsg(void* buffer, wxUint32 nbytes)
} msg;
// Mask read events
} msg;
// Mask read events
- m_reading =
TRUE
;
+ m_reading =
true
;
total = 0;
total = 0;
- error =
TRUE
;
+ error =
true
;
old_flags = m_flags;
SetFlags((m_flags & wxSOCKET_BLOCK) | wxSOCKET_WAITALL);
old_flags = m_flags;
SetFlags((m_flags & wxSOCKET_BLOCK) | wxSOCKET_WAITALL);
@@
-465,12
+467,12
@@
wxSocketBase& wxSocketBase::ReadMsg(void* buffer, wxUint32 nbytes)
}
// everything was OK
}
// everything was OK
- error =
FALSE
;
+ error =
false
;
exit:
m_error = error;
m_lcount = total;
exit:
m_error = error;
m_lcount = total;
- m_reading =
FALSE
;
+ m_reading =
false
;
SetFlags(old_flags);
return *this;
SetFlags(old_flags);
return *this;
@@
-479,7
+481,7
@@
exit:
wxSocketBase& wxSocketBase::Peek(void* buffer, wxUint32 nbytes)
{
// Mask read events
wxSocketBase& wxSocketBase::Peek(void* buffer, wxUint32 nbytes)
{
// Mask read events
- m_reading =
TRUE
;
+ m_reading =
true
;
m_lcount = _Read(buffer, nbytes);
Pushback(buffer, m_lcount);
m_lcount = _Read(buffer, nbytes);
Pushback(buffer, m_lcount);
@@
-491,7
+493,7
@@
wxSocketBase& wxSocketBase::Peek(void* buffer, wxUint32 nbytes)
m_error = (m_lcount == 0);
// Allow read events again
m_error = (m_lcount == 0);
// Allow read events again
- m_reading =
FALSE
;
+ m_reading =
false
;
return *this;
}
return *this;
}
@@
-499,7
+501,7
@@
wxSocketBase& wxSocketBase::Peek(void* buffer, wxUint32 nbytes)
wxSocketBase& wxSocketBase::Write(const void *buffer, wxUint32 nbytes)
{
// Mask write events
wxSocketBase& wxSocketBase::Write(const void *buffer, wxUint32 nbytes)
{
// Mask write events
- m_writing =
TRUE
;
+ m_writing =
true
;
m_lcount = _Write(buffer, nbytes);
m_lcount = _Write(buffer, nbytes);
@@
-510,7
+512,7
@@
wxSocketBase& wxSocketBase::Write(const void *buffer, wxUint32 nbytes)
m_error = (m_lcount == 0);
// Allow write events again
m_error = (m_lcount == 0);
// Allow write events again
- m_writing =
FALSE
;
+ m_writing =
false
;
return *this;
}
return *this;
}
@@
-541,7
+543,7
@@
wxUint32 wxSocketBase::_Write(const void *buffer, wxUint32 nbytes)
}
else
{
}
else
{
- bool more =
TRUE
;
+ bool more =
true
;
while (more)
{
while (more)
{
@@
-579,9
+581,9
@@
wxSocketBase& wxSocketBase::WriteMsg(const void *buffer, wxUint32 nbytes)
} msg;
// Mask write events
} msg;
// Mask write events
- m_writing =
TRUE
;
+ m_writing =
true
;
- error =
TRUE
;
+ error =
true
;
total = 0;
SetFlags((m_flags & wxSOCKET_BLOCK) | wxSOCKET_WAITALL);
total = 0;
SetFlags((m_flags & wxSOCKET_BLOCK) | wxSOCKET_WAITALL);
@@
-613,12
+615,12
@@
wxSocketBase& wxSocketBase::WriteMsg(const void *buffer, wxUint32 nbytes)
goto exit;
// everything was OK
goto exit;
// everything was OK
- error =
FALSE
;
+ error =
false
;
exit:
m_error = error;
m_lcount = total;
exit:
m_error = error;
m_lcount = total;
- m_writing =
FALSE
;
+ m_writing =
false
;
return *this;
}
return *this;
}
@@
-628,7
+630,7
@@
wxSocketBase& wxSocketBase::Unread(const void *buffer, wxUint32 nbytes)
if (nbytes != 0)
Pushback(buffer, nbytes);
if (nbytes != 0)
Pushback(buffer, nbytes);
- m_error =
FALSE
;
+ m_error =
false
;
m_lcount = nbytes;
return *this;
m_lcount = nbytes;
return *this;
@@
-641,7
+643,7
@@
wxSocketBase& wxSocketBase::Discard()
wxUint32 total = 0;
// Mask read events
wxUint32 total = 0;
// Mask read events
- m_reading =
TRUE
;
+ m_reading =
true
;
SetFlags(wxSOCKET_NOWAIT);
SetFlags(wxSOCKET_NOWAIT);
@@
-654,10
+656,10
@@
wxSocketBase& wxSocketBase::Discard()
delete[] buffer;
m_lcount = total;
delete[] buffer;
m_lcount = total;
- m_error =
FALSE
;
+ m_error =
false
;
// Allow read events again
// Allow read events again
- m_reading =
FALSE
;
+ m_reading =
false
;
return *this;
}
return *this;
}
@@
-679,12
+681,12
@@
bool wxSocketBase::_Wait(long seconds,
GSocketEventFlags result;
long timeout;
GSocketEventFlags result;
long timeout;
- // Set this to
TRUE
to interrupt ongoing waits
- m_interrupt =
FALSE
;
+ // Set this to
true
to interrupt ongoing waits
+ m_interrupt =
false
;
// Check for valid socket
if (!m_socket)
// Check for valid socket
if (!m_socket)
- return
FALSE
;
+ return
false
;
// Check for valid timeout value.
if (seconds != -1)
// Check for valid timeout value.
if (seconds != -1)
@@
-707,7
+709,7
@@
bool wxSocketBase::_Wait(long seconds,
// we are just polling). Also, if just polling, do not yield.
wxStopWatch chrono;
// we are just polling). Also, if just polling, do not yield.
wxStopWatch chrono;
- bool done =
FALSE
;
+ bool done =
false
;
while (!done)
{
while (!done)
{
@@
-716,33
+718,33
@@
bool wxSocketBase::_Wait(long seconds,
// Incoming connection (server) or connection established (client)
if (result & GSOCK_CONNECTION_FLAG)
{
// Incoming connection (server) or connection established (client)
if (result & GSOCK_CONNECTION_FLAG)
{
- m_connected =
TRUE
;
- m_establishing =
FALSE
;
- return
TRUE
;
+ m_connected =
true
;
+ m_establishing =
false
;
+ return
true
;
}
// Data available or output buffer ready
if ((result & GSOCK_INPUT_FLAG) || (result & GSOCK_OUTPUT_FLAG))
{
}
// Data available or output buffer ready
if ((result & GSOCK_INPUT_FLAG) || (result & GSOCK_OUTPUT_FLAG))
{
- return
TRUE
;
+ return
true
;
}
// Connection lost
if (result & GSOCK_LOST_FLAG)
{
}
// Connection lost
if (result & GSOCK_LOST_FLAG)
{
- m_connected =
FALSE
;
- m_establishing =
FALSE
;
+ m_connected =
false
;
+ m_establishing =
false
;
return (flags & GSOCK_LOST_FLAG) != 0;
}
// Wait more?
if ((!timeout) || (chrono.Time() > timeout) || (m_interrupt))
return (flags & GSOCK_LOST_FLAG) != 0;
}
// Wait more?
if ((!timeout) || (chrono.Time() > timeout) || (m_interrupt))
- done =
TRUE
;
+ done =
true
;
else
PROCESS_EVENTS();
}
else
PROCESS_EVENTS();
}
- return
FALSE
;
+ return
false
;
}
bool wxSocketBase::Wait(long seconds, long milliseconds)
}
bool wxSocketBase::Wait(long seconds, long milliseconds)
@@
-757,11
+759,11
@@
bool wxSocketBase::WaitForRead(long seconds, long milliseconds)
{
// Check pushback buffer before entering _Wait
if (m_unread)
{
// Check pushback buffer before entering _Wait
if (m_unread)
- return
TRUE
;
+ return
true
;
// Note that GSOCK_INPUT_LOST has to be explicitly passed to
// _Wait becuase of the semantics of WaitForRead: a return
// Note that GSOCK_INPUT_LOST has to be explicitly passed to
// _Wait becuase of the semantics of WaitForRead: a return
- // value of
TRUE
means that a GSocket_Read call will return
+ // value of
true
means that a GSocket_Read call will return
// immediately, not that there is actually data to read.
return _Wait(seconds, milliseconds, GSOCK_INPUT_FLAG |
// immediately, not that there is actually data to read.
return _Wait(seconds, milliseconds, GSOCK_INPUT_FLAG |
@@
-792,19
+794,19
@@
bool wxSocketBase::GetPeer(wxSockAddress& addr_man) const
GAddress *peer;
if (!m_socket)
GAddress *peer;
if (!m_socket)
- return
FALSE
;
+ return
false
;
peer = m_socket->GetPeer();
// copying a null address would just trigger an assert anyway
if (!peer)
peer = m_socket->GetPeer();
// copying a null address would just trigger an assert anyway
if (!peer)
- return
FALSE
;
+ return
false
;
addr_man.SetAddress(peer);
GAddress_destroy(peer);
addr_man.SetAddress(peer);
GAddress_destroy(peer);
- return
TRUE
;
+ return
true
;
}
bool wxSocketBase::GetLocal(wxSockAddress& addr_man) const
}
bool wxSocketBase::GetLocal(wxSockAddress& addr_man) const
@@
-812,13
+814,13
@@
bool wxSocketBase::GetLocal(wxSockAddress& addr_man) const
GAddress *local;
if (!m_socket)
GAddress *local;
if (!m_socket)
- return
FALSE
;
+ return
false
;
local = m_socket->GetLocal();
addr_man.SetAddress(local);
GAddress_destroy(local);
local = m_socket->GetLocal();
addr_man.SetAddress(local);
GAddress_destroy(local);
- return
TRUE
;
+ return
true
;
}
//
}
//
@@
-919,8
+921,8
@@
void wxSocketBase::OnRequest(wxSocketNotify notification)
switch(notification)
{
case wxSOCKET_CONNECTION:
switch(notification)
{
case wxSOCKET_CONNECTION:
- m_establishing =
FALSE
;
- m_connected =
TRUE
;
+ m_establishing =
false
;
+ m_connected =
true
;
break;
// If we are in the middle of a R/W operation, do not
break;
// If we are in the middle of a R/W operation, do not
@@
-938,8
+940,8
@@
void wxSocketBase::OnRequest(wxSocketNotify notification)
break;
case wxSOCKET_LOST:
break;
case wxSOCKET_LOST:
- m_connected =
FALSE
;
- m_establishing =
FALSE
;
+ m_connected =
false
;
+ m_establishing =
false
;
break;
default:
break;
default:
@@
-1051,7
+1053,7
@@
wxUint32 wxSocketBase::GetPushback(void *buffer, wxUint32 size, bool peek)
// Ctor
// --------------------------------------------------------------------------
// Ctor
// --------------------------------------------------------------------------
-wxSocketServer::wxSocketServer(wxSockAddress& addr_man,
+wxSocketServer::wxSocketServer(
const
wxSockAddress& addr_man,
wxSocketFlags flags)
: wxSocketBase(flags, wxSOCKET_SERVER)
{
wxSocketFlags flags)
: wxSocketBase(flags, wxSOCKET_SERVER)
{
@@
-1068,7
+1070,7
@@
wxSocketServer::wxSocketServer(wxSockAddress& addr_man,
// Setup the socket as server
m_socket->SetLocal(addr_man.GetAddress());
// Setup the socket as server
m_socket->SetLocal(addr_man.GetAddress());
-
+
if (GetFlags() & wxSOCKET_REUSEADDR) {
m_socket->SetReusable();
}
if (GetFlags() & wxSOCKET_REUSEADDR) {
m_socket->SetReusable();
}
@@
-1097,9
+1099,9
@@
bool wxSocketServer::AcceptWith(wxSocketBase& sock, bool wait)
GSocket *child_socket;
if (!m_socket)
GSocket *child_socket;
if (!m_socket)
- return
FALSE
;
+ return
false
;
- // If wait ==
FALSE
, then the call should be nonblocking.
+ // If wait ==
false
, then the call should be nonblocking.
// When we are finished, we put the socket to blocking mode
// again.
// When we are finished, we put the socket to blocking mode
// again.
@@
-1112,18
+1114,18
@@
bool wxSocketServer::AcceptWith(wxSocketBase& sock, bool wait)
m_socket->SetNonBlocking(0);
if (!child_socket)
m_socket->SetNonBlocking(0);
if (!child_socket)
- return
FALSE
;
+ return
false
;
sock.m_type = wxSOCKET_BASE;
sock.m_socket = child_socket;
sock.m_type = wxSOCKET_BASE;
sock.m_socket = child_socket;
- sock.m_connected =
TRUE
;
+ sock.m_connected =
true
;
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);
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);
- return
TRUE
;
+ return
true
;
}
wxSocketBase *wxSocketServer::Accept(bool wait)
}
wxSocketBase *wxSocketServer::Accept(bool wait)
@@
-1148,23
+1150,27
@@
bool wxSocketServer::WaitForAccept(long seconds, long milliseconds)
bool wxSocketBase::GetOption(int level, int optname, void *optval, int *optlen)
{
bool wxSocketBase::GetOption(int level, int optname, void *optval, int *optlen)
{
+ wxASSERT_MSG( m_socket, _T("Socket not initialised") );
+
if (m_socket->GetSockOpt(level, optname, optval, optlen)
!= GSOCK_NOERROR)
{
if (m_socket->GetSockOpt(level, optname, optval, optlen)
!= GSOCK_NOERROR)
{
- return
FALSE
;
+ return
false
;
}
}
- return
TRUE
;
+ return
true
;
}
bool wxSocketBase::SetOption(int level, int optname, const void *optval,
int optlen)
{
}
bool wxSocketBase::SetOption(int level, int optname, const void *optval,
int optlen)
{
+ wxASSERT_MSG( m_socket, _T("Socket not initialised") );
+
if (m_socket->SetSockOpt(level, optname, optval, optlen)
!= GSOCK_NOERROR)
{
if (m_socket->SetSockOpt(level, optname, optval, optlen)
!= GSOCK_NOERROR)
{
- return
FALSE
;
+ return
false
;
}
}
- return
TRUE
;
+ return
true
;
}
// ==========================================================================
}
// ==========================================================================
@@
-1200,18
+1206,18
@@
bool wxSocketClient::Connect(wxSockAddress& addr_man, bool wait)
}
m_socket = GSocket_new();
}
m_socket = GSocket_new();
- m_connected =
FALSE
;
- m_establishing =
FALSE
;
+ m_connected =
false
;
+ m_establishing =
false
;
if (!m_socket)
if (!m_socket)
- return
FALSE
;
+ return
false
;
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);
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);
- // If wait ==
FALSE
, then the call should be nonblocking.
+ // If wait ==
false
, then the call should be nonblocking.
// When we are finished, we put the socket to blocking mode
// again.
// When we are finished, we put the socket to blocking mode
// again.
@@
-1227,22
+1233,22
@@
bool wxSocketClient::Connect(wxSockAddress& addr_man, bool wait)
if (err != GSOCK_NOERROR)
{
if (err == GSOCK_WOULDBLOCK)
if (err != GSOCK_NOERROR)
{
if (err == GSOCK_WOULDBLOCK)
- m_establishing =
TRUE
;
+ m_establishing =
true
;
- return
FALSE
;
+ return
false
;
}
}
- m_connected =
TRUE
;
- return
TRUE
;
+ m_connected =
true
;
+ return
true
;
}
bool wxSocketClient::WaitOnConnect(long seconds, long milliseconds)
{
if (m_connected) // Already connected
}
bool wxSocketClient::WaitOnConnect(long seconds, long milliseconds)
{
if (m_connected) // Already connected
- return
TRUE
;
+ return
true
;
if (!m_establishing || !m_socket) // No connection in progress
if (!m_establishing || !m_socket) // No connection in progress
- return
FALSE
;
+ return
false
;
return _Wait(seconds, milliseconds, GSOCK_CONNECTION_FLAG |
GSOCK_LOST_FLAG);
return _Wait(seconds, milliseconds, GSOCK_CONNECTION_FLAG |
GSOCK_LOST_FLAG);
@@
-1254,7
+1260,7
@@
bool wxSocketClient::WaitOnConnect(long seconds, long milliseconds)
/* NOTE: experimental stuff - might change */
/* NOTE: experimental stuff - might change */
-wxDatagramSocket::wxDatagramSocket( wxSockAddress& addr,
+wxDatagramSocket::wxDatagramSocket(
const
wxSockAddress& addr,
wxSocketFlags flags )
: wxSocketBase( flags, wxSOCKET_DATAGRAM )
{
wxSocketFlags flags )
: wxSocketBase( flags, wxSOCKET_DATAGRAM )
{
@@
-1276,8
+1282,8
@@
wxDatagramSocket::wxDatagramSocket( wxSockAddress& addr,
}
// Initialize all stuff
}
// Initialize all stuff
- m_connected =
FALSE
;
- m_establishing =
FALSE
;
+ m_connected =
false
;
+ m_establishing =
false
;
m_socket->SetTimeout( m_timeout );
m_socket->SetCallback( GSOCK_INPUT_FLAG | GSOCK_OUTPUT_FLAG |
GSOCK_LOST_FLAG | GSOCK_CONNECTION_FLAG,
m_socket->SetTimeout( m_timeout );
m_socket->SetCallback( GSOCK_INPUT_FLAG | GSOCK_OUTPUT_FLAG |
GSOCK_LOST_FLAG | GSOCK_CONNECTION_FLAG,
@@
-1294,10
+1300,12
@@
wxDatagramSocket& wxDatagramSocket::RecvFrom( wxSockAddress& addr,
return (*this);
}
return (*this);
}
-wxDatagramSocket& wxDatagramSocket::SendTo( wxSockAddress& addr,
+wxDatagramSocket& wxDatagramSocket::SendTo(
const
wxSockAddress& addr,
const void* buf,
wxUint32 nBytes )
{
const void* buf,
wxUint32 nBytes )
{
+ wxASSERT_MSG( m_socket, _T("Socket not initialised") );
+
m_socket->SetPeer(addr.GetAddress());
Write(buf, nBytes);
return (*this);
m_socket->SetPeer(addr.GetAddress());
Write(buf, nBytes);
return (*this);
@@
-1313,7
+1321,7
@@
public:
virtual bool OnInit()
{
// wxSocketBase will call GSocket_Init() itself when/if needed
virtual bool OnInit()
{
// wxSocketBase will call GSocket_Init() itself when/if needed
- return
TRUE
;
+ return
true
;
}
virtual void OnExit()
}
virtual void OnExit()