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)

Friends

class KSocketAddress

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

KInetSocketAddress::KInetSocketAddress  ) 
 

Public constructor.

Creates an empty object.

Definition at line 677 of file ksocketaddress.cpp.

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

Definition at line 682 of file ksocketaddress.cpp.

References KNetwork::KSocketAddress::d.

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

Definition at line 690 of file ksocketaddress.cpp.

References setHost(), and setPort().

KInetSocketAddress::KInetSocketAddress const KInetSocketAddress other  ) 
 

Copy constructor.

Data is not shared.

Parameters:
other the other object

Definition at line 697 of file ksocketaddress.cpp.

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

Definition at line 703 of file ksocketaddress.cpp.

References KNetwork::KSocketAddress::d.

KInetSocketAddress::~KInetSocketAddress  )  [virtual]
 

Destroys this object.

Definition at line 717 of file ksocketaddress.cpp.


Member Function Documentation

KInetSocketAddress & KInetSocketAddress::operator= const KInetSocketAddress other  ) 
 

Copy operator.

Copies the other object into this one.

Parameters:
other the other object

Definition at line 723 of file ksocketaddress.cpp.

References KNetwork::KSocketAddress::operator=().

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

Cast operator to sockaddr_in.

Definition at line 705 of file ksocketaddress.h.

References KSocketAddress::address().

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

Cast operator to sockaddr_in6.

Definition at line 711 of file ksocketaddress.h.

References KSocketAddress::address().

int 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

Definition at line 730 of file ksocketaddress.cpp.

References KNetwork::KSocketAddress::d.

KIpAddress KInetSocketAddress::ipAddress  )  const
 

Returns the IP address component.

Definition at line 749 of file ksocketaddress.cpp.

References KNetwork::KSocketAddress::d.

KInetSocketAddress & 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

Definition at line 767 of file ksocketaddress.cpp.

References KNetwork::KIpAddress::addr(), KNetwork::KSocketAddress::d, makeIPv4(), makeIPv6(), and KNetwork::KIpAddress::version().

Referenced by KInetSocketAddress().

Q_UINT16 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.

Definition at line 790 of file ksocketaddress.cpp.

References KNetwork::KSocketAddress::d.

KInetSocketAddress & 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

Definition at line 809 of file ksocketaddress.cpp.

References KNetwork::KSocketAddress::d, and makeIPv4().

Referenced by KInetSocketAddress().

KInetSocketAddress & 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

Definition at line 833 of file ksocketaddress.cpp.

References KNetwork::KSocketAddress::d.

Referenced by setHost(), and setPort().

KInetSocketAddress & 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

Definition at line 839 of file ksocketaddress.cpp.

References KNetwork::KSocketAddress::d.

Referenced by setFlowinfo(), setHost(), and setScopeId().

Q_UINT32 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

Definition at line 845 of file ksocketaddress.cpp.

References KNetwork::KSocketAddress::d.

KInetSocketAddress & 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

Definition at line 857 of file ksocketaddress.cpp.

References KNetwork::KSocketAddress::d, and makeIPv6().

int 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

Definition at line 864 of file ksocketaddress.cpp.

References KNetwork::KSocketAddress::d.

KInetSocketAddress & 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

Definition at line 876 of file ksocketaddress.cpp.

References KNetwork::KSocketAddress::d, and makeIPv6().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kdecore Library Version 3.4.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sun Oct 9 07:55:30 2005 by doxygen 1.4.4 written by Dimitri van Heesch, © 1997-2003