/////////////////////////////////////////////////////////////////////////////
-// Name: sckaddr.h
+// Name: wx/sckaddr.h
// Purpose: Network address classes
// Author: Guilhem Lavaux
-// Modified by:
+// Modified by: Vadim Zeitlin to switch to wxSockAddressImpl implementation
// Created: 26/04/1997
// RCS-ID: $Id$
// Copyright: (c) 1997, 1998 Guilhem Lavaux
+// (c) 2008, 2009 Vadim Zeitlin
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
class wxSockAddressImpl;
+// forward declare it instead of including the system headers defining it which
+// can bring in <windows.h> under Windows which we don't want to include from
+// public wx headers
+struct sockaddr;
+
// Any socket address kind
class WXDLLIMPEXP_NET wxSockAddress : public wxObject
{
virtual void Clear();
virtual Family Type() = 0;
+ // accessors for the low level address represented by this object
+ const sockaddr *GetAddressData() const;
+ int GetAddressDataLen() const;
+
// we need to be able to create copies of the addresses polymorphically
// (i.e. without knowing the exact address class)
virtual wxSockAddress *Clone() const = 0;
// IPv4-specific methods:
bool Hostname(unsigned long addr);
- bool BroadcastAddress();
+ // make base class methods hidden by our overload visible
+ //
+ // FIXME-VC6: replace this with "using IPAddress::Hostname" (not supported
+ // by VC6) when support for it is dropped
+ wxString Hostname() const { return wxIPaddress::Hostname(); }
+ bool Hostname(const wxString& name) { return wxIPaddress::Hostname(name); }
- using wxIPaddress::Hostname;
+ bool BroadcastAddress();
private:
virtual void DoInitImpl();