Applied patch [ 837515 ] wxIPaddress + docs patch
(Ray Gilbert) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		| @@ -52,24 +52,58 @@ private: | ||||
|   void Init(); | ||||
| }; | ||||
|  | ||||
| class WXDLLIMPEXP_NET wxIPV4address : public wxSockAddress { | ||||
| // Interface to an IP address (either IPV4 or IPV6) | ||||
| class WXDLLIMPEXP_NET wxIPaddress : public wxSockAddress { | ||||
|   DECLARE_ABSTRACT_CLASS(wxIPaddress) | ||||
| public: | ||||
|   wxIPaddress(); | ||||
|   wxIPaddress(const wxIPaddress& other); | ||||
|   virtual ~wxIPaddress(); | ||||
|  | ||||
|   virtual bool Hostname(const wxString& name) = 0; | ||||
|   virtual bool Service(const wxString& name) = 0; | ||||
|   virtual bool Service(unsigned short port) = 0; | ||||
|  | ||||
|   virtual bool LocalHost() = 0; | ||||
|   virtual bool IsLocalHost() const = 0; | ||||
|  | ||||
|   virtual bool AnyAddress() = 0; | ||||
|  | ||||
|   virtual wxString IPAddress() const = 0; | ||||
|  | ||||
|   virtual wxString Hostname() const = 0; | ||||
|   virtual unsigned short Service() const = 0; | ||||
| }; | ||||
|  | ||||
| class WXDLLIMPEXP_NET wxIPV4address : public wxIPaddress { | ||||
|   DECLARE_DYNAMIC_CLASS(wxIPV4address) | ||||
| public: | ||||
|   wxIPV4address(); | ||||
|   wxIPV4address(const wxIPV4address& other); | ||||
|   virtual ~wxIPV4address(); | ||||
|  | ||||
|   bool Hostname(const wxString& name); | ||||
|   // IPV4 name formats | ||||
|   // | ||||
|   //                    hostname | ||||
|   // dot format         a.b.c.d | ||||
|   virtual bool Hostname(const wxString& name); | ||||
|   bool Hostname(unsigned long addr); | ||||
|   bool Service(const wxString& name); | ||||
|   bool Service(unsigned short port); | ||||
|   bool LocalHost(); | ||||
|   bool AnyAddress(); | ||||
|   virtual bool Service(const wxString& name); | ||||
|   virtual bool Service(unsigned short port); | ||||
|  | ||||
|   wxString Hostname(); | ||||
|   // localhost (127.0.0.1) | ||||
|   virtual bool LocalHost(); | ||||
|   virtual bool IsLocalHost() const; | ||||
|  | ||||
|   // any (0.0.0.0) | ||||
|   virtual bool AnyAddress(); | ||||
|  | ||||
|   virtual wxString Hostname() const; | ||||
|   wxString OrigHostname() { return m_origHostname; } | ||||
|   unsigned short Service(); | ||||
|   wxString IPAddress() const; | ||||
|   virtual unsigned short Service() const; | ||||
|  | ||||
|   // a.b.c.d | ||||
|   virtual wxString IPAddress() const; | ||||
|  | ||||
|   virtual int Type() { return wxSockAddress::IPV4; } | ||||
|   virtual wxSockAddress *Clone() const; | ||||
| @@ -80,8 +114,12 @@ private: | ||||
|   wxString m_origHostname; | ||||
| }; | ||||
|  | ||||
| #ifdef ENABLE_IPV6 | ||||
| class WXDLLIMPEXP_NET wxIPV6address : public wxSockAddress { | ||||
| #if wxUSE_IPV6 | ||||
|  | ||||
| // Experimental Only: | ||||
| // | ||||
| // IPV6 has not yet been implemented in socket layer | ||||
| class WXDLLIMPEXP_NET wxIPV6address : public wxIPaddress { | ||||
|   DECLARE_DYNAMIC_CLASS(wxIPV6address) | ||||
| private: | ||||
|   struct sockaddr_in6 *m_addr; | ||||
| @@ -90,19 +128,37 @@ public: | ||||
|   wxIPV6address(const wxIPV6address& other); | ||||
|   virtual ~wxIPV6address(); | ||||
|  | ||||
|   bool Hostname(const wxString& name); | ||||
|   bool Hostname(unsigned char addr[16]); | ||||
|   bool Service(const wxString& name); | ||||
|   bool Service(unsigned short port); | ||||
|   bool LocalHost(); | ||||
|   // IPV6 name formats | ||||
|   // | ||||
|   //                          hostname | ||||
|   //                          3ffe:ffff:0100:f101:0210:a4ff:fee3:9566  | ||||
|   // compact (base85)         Itu&-ZQ82s>J%s99FJXT | ||||
|   // compressed format        ::1 | ||||
|   // ipv4 mapped              ::ffff:1.2.3.4 | ||||
|   virtual bool Hostname(const wxString& name); | ||||
|  | ||||
|   wxString Hostname() const; | ||||
|   unsigned short Service() const; | ||||
|   bool Hostname(unsigned char addr[16]); | ||||
|   virtual bool Service(const wxString& name); | ||||
|   virtual bool Service(unsigned short port); | ||||
|  | ||||
|   // localhost (0000:0000:0000:0000:0000:0000:0000:0001 (::1)) | ||||
|   virtual bool LocalHost(); | ||||
|   virtual bool IsLocalHost() const; | ||||
|  | ||||
|   // any (0000:0000:0000:0000:0000:0000:0000:0000 (::)) | ||||
|   virtual bool AnyAddress(); | ||||
|  | ||||
|   // 3ffe:ffff:0100:f101:0210:a4ff:fee3:9566  | ||||
|   virtual wxString IPAddress() const; | ||||
|  | ||||
|   virtual wxString Hostname() const; | ||||
|   virtual unsigned short Service() const; | ||||
|  | ||||
|   virtual int Type() { return wxSockAddress::IPV6; } | ||||
|   virtual wxSockAddress *Clone() const { return new wxIPV6address(*this); } | ||||
| }; | ||||
| #endif | ||||
|  | ||||
| #endif // wxUSE_IPV6 | ||||
|  | ||||
| #if defined(__UNIX__) && !defined(__WINE__) && (!defined(__WXMAC__) || defined(__DARWIN__)) | ||||
| #include <sys/socket.h> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user