X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f4ada568223b79c8a5769cc351c36a8e2ccd7841..b480710b16ac3b941ba55fd981f441fc6724c386:/include/wx/sckaddr.h diff --git a/include/wx/sckaddr.h b/include/wx/sckaddr.h index 392a9d1387..6e2a0ae012 100644 --- a/include/wx/sckaddr.h +++ b/include/wx/sckaddr.h @@ -8,72 +8,59 @@ // Copyright: (c) 1997, 1998 Guilhem Lavaux // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// + #ifndef _WX_NETWORK_ADDRESS_H #define _WX_NETWORK_ADDRESS_H -#if defined(__WINDOWS__) && defined(WXSOCK_INTERNAL) -#include - -#elif defined(__UNIX__) && defined(WXSOCK_INTERNAL) - -#include -#include -#include -#endif - #ifdef __GNUG__ #pragma interface #endif -#ifdef WXPREC -#include -#else -#include -#endif +#include "wx/defs.h" + +#if wxUSE_SOCKETS + +#include "wx/string.h" +#include "wx/gsocket.h" + class WXDLLEXPORT wxSockAddress : public wxObject { DECLARE_ABSTRACT_CLASS(wxSockAddress) public: typedef enum { IPV4=1, IPV6=2, UNIX=3 } Addr; - wxSockAddress() {}; - virtual ~wxSockAddress() {}; + wxSockAddress(); + virtual ~wxSockAddress(); - virtual void Clear() = 0; + virtual void Clear(); + virtual int Type() = 0; - virtual void Build(struct sockaddr*& addr, size_t& len) = 0; - virtual void Disassemble(struct sockaddr *addr, size_t len) = 0; - virtual int SockAddrLen() = 0; + GAddress *GetAddress() const { return m_address; } + void SetAddress(GAddress *address); + const wxSockAddress& operator =(const wxSockAddress& addr); - virtual int GetFamily() = 0; - virtual int Type() = 0; + void CopyObject(wxObject& dest) const; + +protected: + GAddress *m_address; }; class WXDLLEXPORT wxIPV4address : public wxSockAddress { DECLARE_DYNAMIC_CLASS(wxIPV4address) -private: - struct sockaddr_in *m_addr; public: wxIPV4address(); virtual ~wxIPV4address(); - virtual void Clear(); -// const wxSockAddress& operator =(const wxSockAddress& addr); - - virtual bool Hostname(const wxString& name); - virtual bool Hostname(unsigned long addr); - virtual bool Service(const wxString& name); - virtual bool Service(unsigned short port); - virtual bool LocalHost(); + bool Hostname(const wxString& name); + bool Hostname(unsigned long addr); + bool Service(const wxString& name); + bool Service(unsigned short port); + bool LocalHost(); + bool AnyAddress(); wxString Hostname(); unsigned short Service(); - void Build(struct sockaddr*& addr, size_t& len); - void Disassemble(struct sockaddr *addr, size_t len); - - inline int SockAddrLen(); - inline int GetFamily(); inline int Type() { return wxSockAddress::IPV4; } }; @@ -86,9 +73,6 @@ public: wxIPV6address(); ~wxIPV6address(); - void Clear(); -// const wxSockAddress& operator =(const wxSockAddress& addr); - bool Hostname(const wxString& name); bool Hostname(unsigned char addr[16]); bool Service(const wxString& name); @@ -98,17 +82,15 @@ public: wxString Hostname() const; unsigned short Service() const; - void Build(struct sockaddr*& addr, size_t& len); - void Disassemble(struct sockaddr *addr, size_t len); - - inline int SockAddrLen(); - inline int GetFamily(); inline int Type() { return wxSockAddress::IPV6; } }; #endif #ifdef __UNIX__ -#include +#include +#ifndef __VMS__ +# include +#endif class WXDLLEXPORT wxUNIXaddress : public wxSockAddress { DECLARE_DYNAMIC_CLASS(wxUNIXaddress) @@ -118,19 +100,16 @@ public: wxUNIXaddress(); ~wxUNIXaddress(); - void Clear(); -// const wxSockAddress& operator =(const wxSockAddress& addr); - void Filename(const wxString& name); wxString Filename(); - void Build(struct sockaddr*& addr, size_t& len); - void Disassemble(struct sockaddr *addr, size_t len); - - inline int SockAddrLen(); - inline int GetFamily(); inline int Type() { return wxSockAddress::UNIX; } }; #endif + // __UNIX__ + +#endif + // wxUSE_SOCKETS #endif + // _WX_NETWORK_ADDRESS_H