Public Types | |
typedef unsigned short | Port |
Public Member Functions | |
IIPAddress () | |
IIPAddress (const IIPAddress &rhs) | |
IIPAddress & | operator= (const IIPAddress &rhs) |
virtual Port | GetPort () const =0 |
Returns the port. | |
virtual const IAddressType & | Type () const =0 |
Returns the address type for the address. | |
virtual IFullAddress * | Clone () const =0 |
Dynamically allocates a copy of this address. You are responsible for deallocating this copy with delete when you're done with it.. | |
virtual bool | IsWildcardAddress () const override=0 |
virtual unsigned short | Family () const =0 |
Returns the address family of the address. | |
virtual const sockaddr & | AsSockAddr () const =0 |
Returns the address as a reference to a sockaddr structure. | |
virtual int | Size () const =0 |
Returns the size of the sockaddr structure required to store the address. | |
virtual IAddressRef * | GetAddressRef () const =0 |
Returns a reference counted view on this address, be sure to call Release() on the IAdressRef when you're done with it. | |
Static Public Member Functions | |
static Port | GetPort (const IAddress &address) |
static bool | TryGetPort (const IAddress &address, Port &port) |
static Port | GetPort (const sockaddr &address, int addressLength) |
static bool | TryGetPort (const sockaddr &address, int addressLength, Port &port) |
static bool | IsValid (const IAddress &address) |
static bool | IsSameAddress (const IAddress &lhs, const IAddress &rhs) |
Protected Member Functions | |
~IIPAddress () override | |
We never delete instances of this interface; you must manage the lifetime of the class that implements it. |
typedef unsigned short Port |
IIPAddress | ( | ) |
IIPAddress | ( | const IIPAddress & | rhs | ) |
~IIPAddress | ( | ) | [override, protected] |
We never delete instances of this interface; you must manage the lifetime of the class that implements it.
IIPAddress& operator= | ( | const IIPAddress & | rhs | ) |
virtual Port GetPort | ( | ) | const [pure virtual] |
IIPAddress::Port GetPort | ( | const IAddress & | address | ) | [static] |
bool TryGetPort | ( | const IAddress & | address, | |
IIPAddress::Port & | port | |||
) | [static] |
IIPAddress::Port GetPort | ( | const sockaddr & | address, | |
int | addressLength | |||
) | [static] |
virtual const IAddressType& Type | ( | ) | const [pure virtual, inherited] |
Returns the address type for the address.
Implemented in CAddressIPv4, CAddressIPv6, CFullAddress, and CFullAddressWrapper.
virtual IFullAddress* Clone | ( | ) | const [pure virtual, inherited] |
Dynamically allocates a copy of this address. You are responsible for deallocating this copy with delete when you're done with it..
Implemented in CAddressIPv4, CAddressIPv6, CFullAddress, and CFullAddressWrapper.
virtual bool IsWildcardAddress | ( | ) | const [override, pure virtual, inherited] |
Implements IAddress.
Implemented in CAddressIPv4, CAddressIPv6, CFullAddress, and CFullAddressWrapper.
virtual unsigned short Family | ( | ) | const [pure virtual, inherited] |
Returns the address family of the address.
Implemented in CAddress, CAddressImpl, CAddressInfo::Iterator, CAddressIPv4, CAddressIPv6, CAddressWrapper, CFullAddress, CFullAddressWrapper, and CNetworkInterfaceAddresses::Iterator.
virtual const sockaddr& AsSockAddr | ( | ) | const [pure virtual, inherited] |
Returns the address as a reference to a sockaddr structure.
Implemented in CAddress, CAddressImpl, CAddressInfo::Iterator, CAddressIPv4, CAddressIPv6, CAddressWrapper, CFullAddress, CFullAddressWrapper, and CNetworkInterfaceAddresses::Iterator.
virtual int Size | ( | ) | const [pure virtual, inherited] |
Returns the size of the sockaddr structure required to store the address.
Implemented in CAddress, CAddressImpl, CAddressInfo::Iterator, CAddressIPv4, CAddressIPv6, CAddressWrapper, CFullAddress, CFullAddressWrapper, and CNetworkInterfaceAddresses::Iterator.
virtual IAddressRef* GetAddressRef | ( | ) | const [pure virtual, inherited] |
Returns a reference counted view on this address, be sure to call Release() on the IAdressRef when you're done with it.
Implemented in CAddress, CAddressImpl, CAddressInfo::Iterator, CAddressIPv4, CAddressIPv6, CAddressWrapper, CFullAddress, CFullAddressWrapper, and CNetworkInterfaceAddresses::Iterator.