kdecore Library API Documentation

KNetwork::KInetSocketAddress Class Reference

an Internet socket address More...

#include <ksocketaddress.h>

Inheritance diagram for KNetwork::KInetSocketAddress:

Inheritance graph
[legend]
Collaboration diagram for KNetwork::KInetSocketAddress:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 KInetSocketAddress ()
 KInetSocketAddress (const sockaddr *sa, Q_UINT16 len)
 KInetSocketAddress (const KIpAddress &host, Q_UINT16 port)
 KInetSocketAddress (const KInetSocketAddress &other)
 KInetSocketAddress (const KSocketAddress &other)
virtual ~KInetSocketAddress ()
KInetSocketAddressoperator= (const KInetSocketAddress &other)
 operator const sockaddr_in * () const
 operator const sockaddr_in6 * () const
int ipVersion () const
KIpAddress ipAddress () const
KInetSocketAddresssetHost (const KIpAddress &addr)
Q_UINT16 port () const
KInetSocketAddresssetPort (Q_UINT16 port)
KInetSocketAddressmakeIPv4 ()
KInetSocketAddressmakeIPv6 ()
Q_UINT32 flowinfo () const
KInetSocketAddresssetFlowinfo (Q_UINT32 flowinfo)
int scopeId () const
KInetSocketAddresssetScopeId (int scopeid)

Protected Member Functions

 KInetSocketAddress (KSocketAddressData *d)

Detailed Description

an Internet socket address

An Inet (IPv4 or IPv6) socket address

This is an IPv4 or IPv6 address of the Internet.

Author:
Thiago Macieira <thiago.macieira@kdemail.net>

Definition at line 641 of file ksocketaddress.h.


Constructor & Destructor Documentation

KNetwork::KInetSocketAddress::KInetSocketAddress  ) 
 

Public constructor.

Creates an empty object.

KNetwork::KInetSocketAddress::KInetSocketAddress const sockaddr *  sa,
Q_UINT16  len
 

Creates an object from raw data.

Note: if the socket address sa does not contain a valid Internet socket (IPv4 or IPv6), this object will be empty.

Parameters:
sa the sockaddr structure
len the structure's length

KNetwork::KInetSocketAddress::KInetSocketAddress const KIpAddress host,
Q_UINT16  port
 

Creates an object from an IP address and port.

Parameters:
host the IP address
port the port number

KNetwork::KInetSocketAddress::KInetSocketAddress const KInetSocketAddress other  ) 
 

Copy constructor.

Data is not shared.

Parameters:
other the other object

KNetwork::KInetSocketAddress::KInetSocketAddress const KSocketAddress other  ) 
 

Copy constructor.

If the other, generic socket address contains an Internet address, it will be copied. Otherwise, this object will be empty.

Parameters:
other the other object

virtual KNetwork::KInetSocketAddress::~KInetSocketAddress  )  [virtual]
 

Destroys this object.


Member Function Documentation

KInetSocketAddress& KNetwork::KInetSocketAddress::operator= const KInetSocketAddress other  ) 
 

Copy operator.

Copies the other object into this one.

Parameters:
other the other object

KNetwork::KInetSocketAddress::operator const sockaddr_in *  )  const [inline]
 

Cast operator to sockaddr_in.

Definition at line 705 of file ksocketaddress.h.

KNetwork::KInetSocketAddress::operator const sockaddr_in6 *  )  const [inline]
 

Cast operator to sockaddr_in6.

Definition at line 711 of file ksocketaddress.h.

int KNetwork::KInetSocketAddress::ipVersion  )  const
 

Returns the IP version of the address this object holds.

Returns:
4 or 6, if IPv4 or IPv6, respectively; 0 if this object is empty

KIpAddress KNetwork::KInetSocketAddress::ipAddress  )  const
 

Returns the IP address component.

KInetSocketAddress& KNetwork::KInetSocketAddress::setHost const KIpAddress addr  ) 
 

Sets the IP address to the given raw address.

This call will preserve port numbers accross IP versions, but will lose IPv6 specific data if the address is set to IPv4.

Parameters:
addr the address to set to
Returns:
a reference to itself

Q_UINT16 KNetwork::KInetSocketAddress::port  )  const
 

Retrieves the port number stored in this object.

Returns:
a port number in the range 0 to 65535, inclusive. An empty or invalid object will have a port number of 0.

KInetSocketAddress& KNetwork::KInetSocketAddress::setPort Q_UINT16  port  ) 
 

Sets the port number.

If this object is empty, this function will default to creating an IPv4 address.

Parameters:
port the port number to set
Returns:
a reference to itself

KInetSocketAddress& KNetwork::KInetSocketAddress::makeIPv4  ) 
 

Converts this object to an IPv4 socket address.

It has no effect if the object is already an IPv4 socket address.

If this object is an IPv6 address, the port number is preserved. All other information is lost.

Returns:
a reference to itself

KInetSocketAddress& KNetwork::KInetSocketAddress::makeIPv6  ) 
 

Converts this object to an IPv6 socket address.

It has no effect if the object is already an IPv6 socket address.

If this object is an IPv4 address, the port number is preserved.

Returns:
a reference to itself

Q_UINT32 KNetwork::KInetSocketAddress::flowinfo  )  const
 

Returns the flowinfo information from the IPv6 socket address.

Returns:
the flowinfo information or 0 if this object is empty or IPv4

KInetSocketAddress& KNetwork::KInetSocketAddress::setFlowinfo Q_UINT32  flowinfo  ) 
 

Sets the flowinfo information for an IPv6 socket address.

If this is not an IPv6 socket address, this function converts it to one.

See also:
makeIPv6.
Parameters:
flowinfo the flowinfo to set
Returns:
a reference to itself

int KNetwork::KInetSocketAddress::scopeId  )  const
 

Returns the scope id this IPv6 socket is bound to.

Returns:
the scope id, or 0 if this is not an IPv6 object

KInetSocketAddress& KNetwork::KInetSocketAddress::setScopeId int  scopeid  ) 
 

Sets the scope id for this IPv6 object.

If this is not an IPv6 socket address, this function converts it to one.

See also:
makeIPv6
Parameters:
scopeid the scopeid to set
Returns:
a reference to itself


The documentation for this class was generated from the following file:
KDE Logo
This file is part of the documentation for kdecore Library Version 3.4.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Apr 12 22:54:08 2005 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003