Detailed Description
The QNetworkAddressEntry class stores one IP address supported by a network interface, along with its associated netmask and broadcast address.
Each network interface can contain zero or more IP addresses, which in turn can be associated with a netmask and/or a broadcast address (depending on support from the operating system).
This class represents one such group.
Member Function Documentation
QNetworkAddressEntry::QNetworkAddressEntry()
Constructs an empty QNetworkAddressEntry object.
QNetworkAddressEntry::QNetworkAddressEntry(const QNetworkAddressEntry & other)
Constructs a QNetworkAddressEntry object that is a copy of the object other.
QNetworkAddressEntry::~QNetworkAddressEntry()
Destroys this QNetworkAddressEntry object.
QHostAddress QNetworkAddressEntry::broadcast() const
Returns the broadcast address associated with the IPv4 address and netmask. It can usually be derived from those two by setting to 1 the bits of the IP address where the netmask contains a 0. (In other words, by bitwise-OR'ing the IP address with the inverse of the netmask)
This member is always empty for IPv6 addresses, since the concept of broadcast has been abandoned in that system in favor of multicast. In particular, the group of hosts corresponding to all the nodes in the local network can be reached by the "all-nodes" special multicast group (address FF02::1).
See also setBroadcast().
QHostAddress QNetworkAddressEntry::ip() const
This function returns one IPv4 or IPv6 address found, that was found in a network interface.
See also setIp().
QHostAddress QNetworkAddressEntry::netmask() const
Returns the netmask associated with the IP address. The netmask is expressed in the form of an IP address, such as 255.255.0.0.
For IPv6 addresses, the prefix length is converted to an address where the number of bits set to 1 is equal to the prefix length. For a prefix length of 64 bits (the most common value), the netmask will be expressed as a QHostAddress holding the address FFFF:FFFF:FFFF:FFFF::
See also setNetmask() and prefixLength().
int QNetworkAddressEntry::prefixLength() const
Returns the prefix length of this IP address. The prefix length matches the number of bits set to 1 in the netmask (see netmask()). For IPv4 addresses, the value is between 0 and 32. For IPv6 addresses, it's contained between 0 and 128 and is the preferred form of representing addresses.
This function returns -1 if the prefix length could not be determined (i.e., netmask() returns a null QHostAddress()).
This function was introduced in Qt 4.5.
See also setPrefixLength() and netmask().
void QNetworkAddressEntry::setBroadcast(const QHostAddress & newBroadcast)
Sets the broadcast IP address of this QNetworkAddressEntry object to newBroadcast.
See also broadcast().
void QNetworkAddressEntry::setIp(const QHostAddress & newIp)
Sets the IP address the QNetworkAddressEntry object contains to newIp.
See also ip().
void QNetworkAddressEntry::setNetmask(const QHostAddress & newNetmask)
Sets the netmask that this QNetworkAddressEntry object contains to newNetmask. Setting the netmask also sets the prefix length to match the new netmask.
See also netmask() and setPrefixLength().
void QNetworkAddressEntry::setPrefixLength(int length)
Sets the prefix length of this IP address to length. The value of length must be valid for this type of IP address: between 0 and 32 for IPv4 addresses, between 0 and 128 for IPv6 addresses. Setting to any invalid value is equivalent to setting to -1, which means "no prefix length".
Setting the prefix length also sets the netmask (see netmask()).
This function was introduced in Qt 4.5.
See also prefixLength() and setNetmask().
bool QNetworkAddressEntry::operator!=(const QNetworkAddressEntry & other) const
Returns true if this network address entry is different from other.
QNetworkAddressEntry & QNetworkAddressEntry::operator=(const QNetworkAddressEntry & other)
Makes a copy of the QNetworkAddressEntry object other.
bool QNetworkAddressEntry::operator==(const QNetworkAddressEntry & other) const
Returns true if this network address entry is the same as other.