add accessors for sockaddr to wxSockAddress (closes #10511)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: sckaddr.h
|
// Name: wx/sckaddr.h
|
||||||
// Purpose: Network address classes
|
// Purpose: Network address classes
|
||||||
// Author: Guilhem Lavaux
|
// Author: Guilhem Lavaux
|
||||||
// Modified by:
|
// Modified by:
|
||||||
@@ -20,6 +20,11 @@
|
|||||||
|
|
||||||
class wxSockAddressImpl;
|
class wxSockAddressImpl;
|
||||||
|
|
||||||
|
// forward declare it instead of including the system headers defining it which
|
||||||
|
// can bring in <windows.h> under Windows which we don't want to include from
|
||||||
|
// public wx headers
|
||||||
|
struct sockaddr;
|
||||||
|
|
||||||
// Any socket address kind
|
// Any socket address kind
|
||||||
class WXDLLIMPEXP_NET wxSockAddress : public wxObject
|
class WXDLLIMPEXP_NET wxSockAddress : public wxObject
|
||||||
{
|
{
|
||||||
@@ -41,6 +46,10 @@ public:
|
|||||||
virtual void Clear();
|
virtual void Clear();
|
||||||
virtual Family Type() = 0;
|
virtual Family Type() = 0;
|
||||||
|
|
||||||
|
// accessors for the low level address represented by this object
|
||||||
|
const sockaddr *GetAddressData() const;
|
||||||
|
int GetAddressDataLen() const;
|
||||||
|
|
||||||
// we need to be able to create copies of the addresses polymorphically
|
// we need to be able to create copies of the addresses polymorphically
|
||||||
// (i.e. without knowing the exact address class)
|
// (i.e. without knowing the exact address class)
|
||||||
virtual wxSockAddress *Clone() const = 0;
|
virtual wxSockAddress *Clone() const = 0;
|
||||||
|
@@ -427,6 +427,26 @@ public:
|
|||||||
Returns the length of the socket address.
|
Returns the length of the socket address.
|
||||||
*/
|
*/
|
||||||
int SockAddrLen();
|
int SockAddrLen();
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns the pointer to the low-level representation of the address.
|
||||||
|
|
||||||
|
This can be used to pass socket address information to a 3rd party
|
||||||
|
library.
|
||||||
|
|
||||||
|
@return
|
||||||
|
Pointer to a sockaddr-derived struct.
|
||||||
|
*/
|
||||||
|
const sockaddr *GetAddressData() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns the length of the buffer retrieved by GetAddressData().
|
||||||
|
|
||||||
|
@return
|
||||||
|
The size of the sockaddr-derived struct corresponding to this
|
||||||
|
address.
|
||||||
|
*/
|
||||||
|
int GetAddressDataLen() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -722,6 +722,16 @@ wxString wxSockAddressImpl::GetPath() const
|
|||||||
// wxSockAddress
|
// wxSockAddress
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
const sockaddr *wxSockAddress::GetAddressData() const
|
||||||
|
{
|
||||||
|
return GetAddress().GetAddr();
|
||||||
|
}
|
||||||
|
|
||||||
|
int wxSockAddress::GetAddressDataLen() const
|
||||||
|
{
|
||||||
|
return GetAddress().GetLen();
|
||||||
|
}
|
||||||
|
|
||||||
void wxSockAddress::Init()
|
void wxSockAddress::Init()
|
||||||
{
|
{
|
||||||
if ( !wxSocketBase::IsInitialized() )
|
if ( !wxSocketBase::IsInitialized() )
|
||||||
|
Reference in New Issue
Block a user