typedef enum { IPV4=1, IPV6=2, UNIX=3 } Addr;
wxSockAddress();
+ wxSockAddress(const wxSockAddress& other);
virtual ~wxSockAddress();
+ wxSockAddress& operator=(const wxSockAddress& other);
+
virtual void Clear();
virtual int Type() = 0;
GAddress *GetAddress() const { return m_address; }
void SetAddress(GAddress *address);
- const wxSockAddress& operator =(const wxSockAddress& addr);
// we need to be able to create copies of the addresses polymorphically (i.e.
// wihtout knowing the exact address class)
DECLARE_DYNAMIC_CLASS(wxIPV4address)
public:
wxIPV4address();
+ wxIPV4address(const wxIPV4address& other);
virtual ~wxIPV4address();
bool Hostname(const wxString& name);
struct sockaddr_in6 *m_addr;
public:
wxIPV6address();
- ~wxIPV6address();
+ wxIPV6address(const wxIPV6address& other);
+ virtual ~wxIPV6address();
bool Hostname(const wxString& name);
bool Hostname(unsigned char addr[16]);
struct sockaddr_un *m_addr;
public:
wxUNIXaddress();
- ~wxUNIXaddress();
+ wxUNIXaddress(const wxUNIXaddress& other);
+ virtual ~wxUNIXaddress();
void Filename(const wxString& name);
wxString Filename();
m_address = GAddress_new();
}
+wxSockAddress::wxSockAddress(const wxSockAddress& other)
+{
+ m_address = GAddress_copy(other.m_address);
+}
+
wxSockAddress::~wxSockAddress()
{
GAddress_destroy(m_address);
m_address = GAddress_copy(address);
}
-const wxSockAddress& wxSockAddress::operator=(const wxSockAddress& addr)
+wxSockAddress& wxSockAddress::operator=(const wxSockAddress& addr)
{
SetAddress(addr.GetAddress());
return *this;
// ---------------------------------------------------------------------------
wxIPV4address::wxIPV4address()
- : wxSockAddress()
+{
+}
+
+wxIPV4address::wxIPV4address(const wxIPV4address& other)
+ : wxSockAddress(other)
{
}
{
}
+wxIPV6address::wxIPV6address(const wxIPV6address& other)
+ : wxSockAddress(other)
+{
+}
+
wxIPV6address::~wxIPV6address()
{
}
return GAddress_INET_GetPort(m_address);
}
-#endif
+#endif // 0
#if defined(__UNIX__) && !defined(__WXMAC__)
+
// ---------------------------------------------------------------------------
// wxUNIXaddress
// ---------------------------------------------------------------------------
wxUNIXaddress::wxUNIXaddress()
- : wxSockAddress()
+ : wxSockAddress()
+{
+}
+
+wxUNIXaddress::wxUNIXaddress(const wxUNIXaddress& other)
+ : wxSockAddress(other)
{
}
return wxString(path);
}
-#endif
+#endif // __UNIX__
#endif
// wxUSE_SOCKETS