X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/67badd5753e70eb50de5ae43ff454e7c1f311e50..9869c26285dc51d13607cddaa04f65ce983653a5:/include/wx/private/sckaddr.h?ds=sidebyside diff --git a/include/wx/private/sckaddr.h b/include/wx/private/sckaddr.h index 1fd89a3b98..ba2063ed9e 100644 --- a/include/wx/private/sckaddr.h +++ b/include/wx/private/sckaddr.h @@ -1,9 +1,8 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: wx/private/sockaddr.h +// Name: wx/private/sckaddr.h // Purpose: wxSockAddressImpl // Author: Vadim Zeitlin // Created: 2008-12-28 -// RCS-ID: $Id$ // Copyright: (c) 2008 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -11,7 +10,7 @@ #ifndef _WX_PRIVATE_SOCKADDR_H_ #define _WX_PRIVATE_SOCKADDR_H_ -#ifdef __WXMSW__ +#ifdef __WINDOWS__ #include "wx/msw/wrapwin.h" #if wxUSE_IPV6 @@ -26,6 +25,7 @@ u_char sun_family; /* AF_UNIX */ char sun_path[108]; /* path name (gag) */ }; + #include #else // generic Unix #include #include @@ -136,10 +136,11 @@ public: wxSockAddressImpl& operator=(const wxSockAddressImpl& other) { - free(m_addr); - - InitFromOther(other); - + if (this != &other) + { + free(m_addr); + InitFromOther(other); + } return *this; } @@ -165,6 +166,30 @@ public: #ifdef wxHAS_UNIX_DOMAIN_SOCKETS void CreateUnix(); #endif // wxHAS_UNIX_DOMAIN_SOCKETS + void Create(Family family) + { + switch ( family ) + { + case FAMILY_INET: + CreateINET(); + break; + +#if wxUSE_IPV6 + case FAMILY_INET6: + CreateINET6(); + break; +#endif // wxUSE_IPV6 + +#ifdef wxHAS_UNIX_DOMAIN_SOCKETS + case FAMILY_UNIX: + CreateUnix(); + break; +#endif // wxHAS_UNIX_DOMAIN_SOCKETS + + default: + wxFAIL_MSG( "unsupported socket address family" ); + } + } // simple accessors Family GetFamily() const { return m_family; }