KNetwork::KSocketAddress

#include <k3socketaddress.h>

Inheritance diagram for KNetwork::KSocketAddress:

Public Member Functions

 KSocketAddress ()
 
 KSocketAddress (const sockaddr *sa, quint16 len)
 
 KSocketAddress (const KSocketAddress &other)
 
virtual ~KSocketAddress ()
 
const sockaddr * address () const
 
sockaddr * address ()
 
KInetSocketAddressasInet ()
 
KInetSocketAddress asInet () const
 
KUnixSocketAddressasUnix ()
 
KUnixSocketAddress asUnix () const
 
int family () const
 
int ianaFamily () const
 
quint16 length () const
 
virtual QString nodeName () const
 
 operator const sockaddr * () const
 
KSocketAddressoperator= (const KSocketAddress &other)
 
bool operator== (const KSocketAddress &other) const
 
virtual QString serviceName () const
 
KSocketAddresssetAddress (const sockaddr *sa, quint16 len)
 
virtual KSocketAddresssetFamily (int family)
 
KSocketAddresssetLength (quint16 len)
 
virtual QString toString () const
 

Static Public Member Functions

static int fromIanaFamily (int iana)
 
static int ianaFamily (int af)
 

Protected Member Functions

 KSocketAddress (KSocketAddressData *d)
 

Protected Attributes

KSocketAddressData * d
 

Detailed Description

A generic socket address.

This class holds one generic socket address.

Author
Thiago Macieira thiag[email protected][email protected][email protected]e.org
Deprecated:
Use KSocketFactory or KLocalSocket instead

Definition at line 472 of file k3socketaddress.h.

Constructor & Destructor Documentation

KSocketAddress::KSocketAddress ( )

Default constructor.

Creates an empty object

Definition at line 401 of file k3socketaddress.cpp.

KSocketAddress::KSocketAddress ( const sockaddr *  sa,
quint16  len 
)

Creates this object with the given data.

The raw socket address is copied into this object.

Parameters
sathe socket address structure
lenthe socket address length

Definition at line 407 of file k3socketaddress.cpp.

KSocketAddress::KSocketAddress ( const KSocketAddress other)

Copy constructor.

This creates a copy of the other object.

Data is not shared.

Parameters
otherthe object to copy from

Definition at line 413 of file k3socketaddress.cpp.

KSocketAddress::~KSocketAddress ( )
virtual

Destructor.

Frees any associated resources.

Definition at line 424 of file k3socketaddress.cpp.

KSocketAddress::KSocketAddress ( KSocketAddressData *  d)
protected

extra constructor

Definition at line 419 of file k3socketaddress.cpp.

Member Function Documentation

const sockaddr * KSocketAddress::address ( ) const

Returns the socket address structure, to be passed down to low level functions.

Note that this function returns NULL for invalid or empty sockets, so you may use to to test for validity.

Definition at line 444 of file k3socketaddress.cpp.

sockaddr * KSocketAddress::address ( )

Returns the socket address structure, to be passed down to low level functions.

Note that this function returns NULL for invalid or empty sockets, so you may use to to test for validity.

The returned value, if not NULL, is an internal buffer which is guaranteed to be at least length() bytes long.

Definition at line 452 of file k3socketaddress.cpp.

KInetSocketAddress & KSocketAddress::asInet ( )

Returns an object reference that can be used to manipulate this socket as an Internet socket address.

Both objects share the same data.

Definition at line 636 of file k3socketaddress.cpp.

KInetSocketAddress KSocketAddress::asInet ( ) const

Returns an object is equal to this object's data, but they don't share it.

Definition at line 641 of file k3socketaddress.cpp.

KUnixSocketAddress & KSocketAddress::asUnix ( )

Returns an object reference that can be used to manipulate this socket as a Unix socket address.

Both objects share the same data.

Definition at line 646 of file k3socketaddress.cpp.

KUnixSocketAddress KSocketAddress::asUnix ( ) const

Returns an object is equal to this object's data, but they don't share it.

Definition at line 651 of file k3socketaddress.cpp.

int KSocketAddress::family ( ) const

Returns the family of this address.

Returns
the family of this address, AF_UNSPEC if it's undefined

Definition at line 486 of file k3socketaddress.cpp.

int KSocketAddress::fromIanaFamily ( int  iana)
static

Returns the address family of the given IANA family number.

Returns
the address family, AF_UNSPEC for unknown IANA family numbers

Definition at line 672 of file k3socketaddress.cpp.

int KNetwork::KSocketAddress::ianaFamily ( ) const
inline

Returns the IANA family number of this address.

Returns
the IANA family number of this address (1 for AF_INET. 2 for AF_INET6, otherwise 0)

Definition at line 601 of file k3socketaddress.h.

int KSocketAddress::ianaFamily ( int  af)
static

Returns the IANA family number of the given address family.

Returns 0 if there is no corresponding IANA family number.

Parameters
afthe address family, in AF_* constants
Returns
the IANA family number of this address (1 for AF_INET. 2 for AF_INET6, otherwise 0)

Definition at line 656 of file k3socketaddress.cpp.

quint16 KSocketAddress::length ( ) const

Returns the length of this socket address structure.

Definition at line 471 of file k3socketaddress.cpp.

QString KSocketAddress::nodeName ( ) const
virtual

Returns the node name of this socket.

In the case of Internet sockets, this is string representation of the IP address. The default implementation returns QString().

Returns
the node name, can be QString()
Bug:
use KResolver to resolve unknown families

Definition at line 564 of file k3socketaddress.cpp.

KNetwork::KSocketAddress::operator const sockaddr * ( ) const
inline

Returns the socket address structure, to be passed down to low level functions.

Definition at line 548 of file k3socketaddress.h.

KSocketAddress & KSocketAddress::operator= ( const KSocketAddress other)

Performs a shallow copy of the other object into this one.

Data will be copied.

Parameters
otherthe object to copy from

Definition at line 434 of file k3socketaddress.cpp.

bool KSocketAddress::operator== ( const KSocketAddress other) const

Returns true if this equals the other socket.

Socket addresses are considered matching if and only if all data is the same.

Parameters
otherthe other socket
Returns
true if both sockets are equal

Definition at line 504 of file k3socketaddress.cpp.

QString KSocketAddress::serviceName ( ) const
virtual

Returns the service name for this socket.

In the case of Internet sockets, this is the port number. The default implementation returns QString().

Returns
the service name, can be QString()
Bug:
use KResolver to resolve unknown families

Definition at line 591 of file k3socketaddress.cpp.

KSocketAddress & KSocketAddress::setAddress ( const sockaddr *  sa,
quint16  len 
)

Sets the address to the given address.

The raw socket address is copied into this object.

Parameters
sathe socket address structure
lenthe socket address length

Definition at line 460 of file k3socketaddress.cpp.

KSocketAddress & KSocketAddress::setFamily ( int  family)
virtual

Sets the family of this object.

Note: setting the family will probably invalidate any address data contained in this object. Use this function with care.

Parameters
familythe new family to set

Definition at line 494 of file k3socketaddress.cpp.

KSocketAddress & KSocketAddress::setLength ( quint16  len)

Sets the length of this socket structure.

Use this function with care. It allows you to resize the internal buffer to fit needs. This function should not be used except for handling unknown socket address structures.

Also note that this function may invalidate the socket if a known family is set (Internet or Unix socket) and the new length would be too small to hold the system's sockaddr_* structure. If unsure, reset the family:

[...]
qsa.setFamily(AF_UNSPEC).setLength(newlen);
Parameters
lenthe new length

Definition at line 479 of file k3socketaddress.cpp.

QString KSocketAddress::toString ( ) const
virtual

Returns this socket address as a string suitable for printing.

Family, node and service are part of this address.

Bug:
use KResolver to resolve unknown families

Definition at line 611 of file k3socketaddress.cpp.

Member Data Documentation

KSocketAddressData* KNetwork::KSocketAddress::d
protected

private data

Definition at line 671 of file k3socketaddress.h.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Wed Aug 12 2020 22:58:32 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.