/////////////////////////////////////////////////////////////////////////////
-// Name: sckaddr.cpp
+// Name: src/common/sckaddr.cpp
// Purpose: Network address manager
// Author: Guilhem Lavaux
// Modified by:
#include "wx/wxprec.h"
#ifdef __BORLANDC__
- #pragma hdrstop
+ #pragma hdrstop
#endif
#if wxUSE_SOCKETS
#ifndef WX_PRECOMP
- #include "wx/defs.h"
#include "wx/object.h"
#include "wx/log.h"
#include "wx/intl.h"
void wxSockAddress::SetAddress(GAddress *address)
{
- GAddress_destroy(m_address);
- m_address = GAddress_copy(address);
+ if ( address != m_address )
+ {
+ GAddress_destroy(m_address);
+ m_address = GAddress_copy(address);
+ }
}
wxSockAddress& wxSockAddress::operator=(const wxSockAddress& addr)
return (Hostname() == wxT("localhost") || IPAddress() == wxT("127.0.0.1"));
}
+bool wxIPV4address::BroadcastAddress()
+{
+ return (GAddress_INET_SetBroadcastAddress(m_address) == GSOCK_NOERROR);
+}
+
bool wxIPV4address::AnyAddress()
{
return (GAddress_INET_SetAnyAddress(m_address) == GSOCK_NOERROR);
bool wxIPV4address::operator==(const wxIPV4address& addr) const
{
- return Hostname().Cmp(addr.Hostname().c_str()) == 0 &&
- Service() == addr.Service();
+ return Hostname().Cmp(addr.Hostname()) == 0 &&
+ Service() == addr.Service();
}
#if wxUSE_IPV6
return (Hostname() == wxT("localhost") || IPAddress() == wxT("127.0.0.1"));
}
+bool wxIPV6address::BroadcastAddress()
+{
+ return (GAddress_INET_SetBroadcastAddress(m_address) == GSOCK_NOERROR);
+}
+
bool wxIPV6address::AnyAddress()
{
return (GAddress_INET_SetAnyAddress(m_address) == GSOCK_NOERROR);