#include <memory.h>
#endif
-#include <wx/defs.h>
-#include <wx/object.h>
-#include <wx/gsocket.h>
-#include <wx/sckaddr.h>
+#include "wx/defs.h"
+#include "wx/object.h"
+#include "wx/log.h"
+#include "wx/intl.h"
+#include "wx/gsocket.h"
+#include "wx/sckaddr.h"
-#if !USE_SHARED_LIBRARY
IMPLEMENT_ABSTRACT_CLASS(wxSockAddress, wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxIPV4address, wxSockAddress)
#ifdef ENABLE_IPV6
#ifdef __UNIX__
IMPLEMENT_DYNAMIC_CLASS(wxUNIXaddress, wxSockAddress)
#endif
-#endif
// ---------------------------------------------------------------------------
// wxIPV4address
bool wxIPV4address::Hostname(const wxString& name)
{
+ // Some people are sometimes fool.
+ if (name == wxT(""))
+ {
+ wxLogWarning( _("Trying to solve a NULL hostname: giving up") );
+ return FALSE;
+ }
+
return (GAddress_INET_SetHostName(m_address, name.fn_str()) == GSOCK_NOERROR);
}
bool wxIPV4address::Hostname(unsigned long addr)
{
- /* Need API */
- return TRUE;
+ return (GAddress_INET_SetHostAddress(m_address, addr) == GSOCK_NOERROR);
}
bool wxIPV4address::Service(const wxString& name)
{
- return (GAddress_INET_SetPortName(m_address, name.fn_str()) == GSOCK_NOERROR);
+ return (GAddress_INET_SetPortName(m_address, name.fn_str(), "tcp") == GSOCK_NOERROR);
}
bool wxIPV4address::Service(unsigned short port)
return (GAddress_INET_SetHostName(m_address, "localhost") == GSOCK_NOERROR);
}
+bool wxIPV4address::AnyAddress()
+{
+ return (GAddress_INET_SetAnyAddress(m_address) == GSOCK_NOERROR);
+}
+
wxString wxIPV4address::Hostname()
{
char hostname[1024];
return GAddress_INET_GetPort(m_address);
}
-#ifdef IPV6_ENABLE
+#if 0
// ---------------------------------------------------------------------------
// wxIPV6address
// ---------------------------------------------------------------------------