Added GSocket for Unix (only GTK for the moment)
Updated wxSocket to use GSocket API Added a progress bar to client.cpp Added CopyTo to wxMemoryOutputStream to copy the internal buffer to a specified buffer. Various changes/fixes to the high-level protocols FTP/HTTP Various Unicode fixes Removed sckint.* git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -20,52 +20,42 @@
|
||||
|
||||
#if wxUSE_SOCKETS
|
||||
|
||||
#if defined(__WINDOWS__) && defined(WXSOCK_INTERNAL)
|
||||
#include <winsock.h>
|
||||
|
||||
#elif defined(__UNIX__) && defined(WXSOCK_INTERNAL)
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
|
||||
#include "wx/string.h"
|
||||
#include "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 Build(struct sockaddr*& addr, size_t& len) = 0;
|
||||
virtual void Disassemble(struct sockaddr *addr, size_t len) = 0;
|
||||
virtual int SockAddrLen() = 0;
|
||||
|
||||
virtual int GetFamily() = 0;
|
||||
virtual void Clear();
|
||||
virtual int Type() = 0;
|
||||
|
||||
GAddress *GetAddress() const { return m_address; }
|
||||
void SetAddress(GAddress *address);
|
||||
const wxSockAddress& operator =(const wxSockAddress& addr);
|
||||
|
||||
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();
|
||||
|
||||
wxString Hostname();
|
||||
unsigned short Service();
|
||||
@@ -73,8 +63,6 @@ public:
|
||||
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; }
|
||||
};
|
||||
|
||||
@@ -87,9 +75,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);
|
||||
@@ -99,11 +84,6 @@ 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
|
||||
@@ -119,17 +99,9 @@ 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
|
||||
|
Reference in New Issue
Block a user