X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1539c2f54a43b0de6f6d75437b04d30872da9ea4..687dcff3a46a55c11851b1cabdbbbef5492a2f5f:/include/wx/sckaddr.h?ds=sidebyside diff --git a/include/wx/sckaddr.h b/include/wx/sckaddr.h index 8f175f4f45..e1c980f619 100644 --- a/include/wx/sckaddr.h +++ b/include/wx/sckaddr.h @@ -6,14 +6,14 @@ // Created: 26/04/1997 // RCS-ID: $Id$ // Copyright: (c) 1997, 1998 Guilhem Lavaux -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_NETWORK_ADDRESS_H #define _WX_NETWORK_ADDRESS_H -#ifdef __GNUG__ -#pragma interface +#if defined(__GNUG__) && !defined(__APPLE__) +#pragma interface "sckaddr.h" #endif #include "wx/defs.h" @@ -24,7 +24,7 @@ #include "wx/gsocket.h" -class WXDLLEXPORT wxSockAddress : public wxObject { +class WXDLLIMPEXP_BASE wxSockAddress : public wxObject { DECLARE_ABSTRACT_CLASS(wxSockAddress) public: typedef enum { IPV4=1, IPV6=2, UNIX=3 } Addr; @@ -42,14 +42,17 @@ public: void SetAddress(GAddress *address); // we need to be able to create copies of the addresses polymorphically (i.e. - // wihtout knowing the exact address class) + // without knowing the exact address class) virtual wxSockAddress *Clone() const = 0; protected: GAddress *m_address; + +private: + void Init(); }; -class WXDLLEXPORT wxIPV4address : public wxSockAddress { +class WXDLLIMPEXP_BASE wxIPV4address : public wxSockAddress { DECLARE_DYNAMIC_CLASS(wxIPV4address) public: wxIPV4address(); @@ -64,14 +67,18 @@ public: bool AnyAddress(); wxString Hostname(); + wxString OrigHostname() { return m_origHostname; } unsigned short Service(); virtual int Type() { return wxSockAddress::IPV4; } - virtual wxSockAddress *Clone() const { return new wxIPV4address(*this); } + virtual wxSockAddress *Clone() const; + +private: + wxString m_origHostname; }; #ifdef ENABLE_IPV6 -class WXDLLEXPORT wxIPV6address : public wxSockAddress { +class WXDLLIMPEXP_BASE wxIPV6address : public wxSockAddress { DECLARE_DYNAMIC_CLASS(wxIPV6address) private: struct sockaddr_in6 *m_addr; @@ -94,13 +101,13 @@ public: }; #endif -#if defined(__UNIX__) && !defined(__WXMAC__) +#if defined(__UNIX__) && !defined(__WINE__) && (!defined(__WXMAC__) || defined(__DARWIN__)) #include #ifndef __VMS__ # include #endif -class WXDLLEXPORT wxUNIXaddress : public wxSockAddress { +class WXDLLIMPEXP_BASE wxUNIXaddress : public wxSockAddress { DECLARE_DYNAMIC_CLASS(wxUNIXaddress) private: struct sockaddr_un *m_addr;