com.trolltech.qt.network
Class QNetworkInterface

java.lang.Object
  extended by com.trolltech.qt.internal.QSignalEmitterInternal
      extended by com.trolltech.qt.QSignalEmitter
          extended by com.trolltech.qt.QtJambiObject
              extended by com.trolltech.qt.network.QNetworkInterface
All Implemented Interfaces:
QtJambiInterface, java.lang.Cloneable

public class QNetworkInterface
extends QtJambiObject
implements java.lang.Cloneable

The QNetworkInterface class provides a listing of the host's IP addresses and network interfaces. QNetworkInterface represents one network interface attached to the host where the program is being run. Each network interface may contain zero or more IP addresses, each of which is optionally associated with a netmask and/or a broadcast address. The list of such trios can be obtained with addressEntries(). Alternatively, when the netmask or the broadcast addresses aren't necessary, use the allAddresses() convenience function to obtain just the IP addresses.

QNetworkInterface also reports the interface's hardware address with hardwareAddress().

Not all operating systems support reporting all features. Only the IPv4 addresses are guaranteed to be listed by this class in all platforms. In particular, IPv6 address listing is only supported on Windows XP and more recent versions, Linux, MacOS X and the BSDs.

See also:
QNetworkAddressEntry.


Nested Class Summary
static class QNetworkInterface.InterfaceFlag
          Specifies the flags associated with this network interface.
static class QNetworkInterface.InterfaceFlags
           
 
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
QSignalEmitter.AbstractSignal, QSignalEmitter.PrivateSignal0, QSignalEmitter.PrivateSignal1, QSignalEmitter.PrivateSignal2, QSignalEmitter.PrivateSignal3, QSignalEmitter.PrivateSignal4, QSignalEmitter.PrivateSignal5, QSignalEmitter.PrivateSignal6, QSignalEmitter.PrivateSignal7, QSignalEmitter.PrivateSignal8, QSignalEmitter.PrivateSignal9, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9
 
Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal
 
Field Summary
 
Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
currentSender
 
Constructor Summary
QNetworkInterface()
          Constructs an empty network interface object.
QNetworkInterface(QNetworkInterface other)
          Creates a copy of the the QNetworkInterface object contained in other.
 
Method Summary
 java.util.List addressEntries()
          Returns the list of IP addresses that this interface possesses along with their associated netmasks and broadcast addresses.
static java.util.List allAddresses()
          This convenience function returns all IP addresses found on the host machine.
static java.util.List allInterfaces()
          Returns a listing of all the network interfaces found on the host machine.
 QNetworkInterface clone()
          This method is reimplemented for internal reasons
 QNetworkInterface.InterfaceFlags flags()
          Returns the flags associated with this network interface.
 java.lang.String hardwareAddress()
          Returns the low-level hardware address for this interface.
 java.lang.String humanReadableName()
          Returns the human-readable name of this network interface on Windows, such as "Local Area Connection", if the name could be determined.
 int index()
          Returns the interface system index, if known.
static QNetworkInterface interfaceFromIndex(int index)
          Returns a QNetworkInterface object for the interface whose internal ID is index.
static QNetworkInterface interfaceFromName(java.lang.String name)
          Returns a QNetworkInterface object for the interface named name.
 boolean isValid()
          Returns true if this QNetworkInterface object contains valid information about a network interface.
 java.lang.String name()
          Returns the name of this network interface.
 java.lang.String toString()
          Returns a string representation of the this QNetworkInterface.
 
Methods inherited from class com.trolltech.qt.QtJambiObject
dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr
 
Methods inherited from class com.trolltech.qt.QSignalEmitter
blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread
 
Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
__qt_signalInitialization
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.trolltech.qt.QtJambiInterface
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership
 

Constructor Detail

QNetworkInterface

public QNetworkInterface()
Constructs an empty network interface object.


QNetworkInterface

public QNetworkInterface(QNetworkInterface other)
Creates a copy of the the QNetworkInterface object contained in other.

Method Detail

addressEntries

public final java.util.List addressEntries()
Returns the list of IP addresses that this interface possesses along with their associated netmasks and broadcast addresses.

If the netmask or broadcast address information is not necessary, you can call the allAddresses() function to obtain just the IP addresses.


flags

public final QNetworkInterface.InterfaceFlags flags()
Returns the flags associated with this network interface.


hardwareAddress

public final java.lang.String hardwareAddress()
Returns the low-level hardware address for this interface. On Ethernet interfaces, this will be a MAC address in string representation, separated by colons.

Other interface types may have other types of hardware addresses. Implementations should not depend on this function returning a valid MAC address.


humanReadableName

public final java.lang.String humanReadableName()
Returns the human-readable name of this network interface on Windows, such as "Local Area Connection", if the name could be determined. If it couldn't, this function returns the same as name(). The human-readable name is a name that the user can modify in the Windows Control Panel, so it may change during the execution of the program.

On Unix, this function currently always returns the same as name(), since Unix systems don't store a configuration for human-readable names.


index

public final int index()
Returns the interface system index, if known. This is an integer assigned by the operating system to identify this interface and it generally doesn't change. It matches the scope ID field in IPv6 addresses.

If the index isn't known, this function returns 0.


isValid

public final boolean isValid()
Returns true if this QNetworkInterface object contains valid information about a network interface.


name

public final java.lang.String name()
Returns the name of this network interface. On Unix systems, this is a string containing the type of the interface and optionally a sequence number, such as "eth0", "lo" or "pcn0". On Windows, it's an internal ID that cannot be changed by the user.


allAddresses

public static java.util.List allAddresses()
This convenience function returns all IP addresses found on the host machine. It is equivalent to calling addressEntries() on all the objects returned by allInterfaces() to obtain lists of QHostAddress objects then calling QHostAddress::ip() on each of these.


allInterfaces

public static java.util.List allInterfaces()
Returns a listing of all the network interfaces found on the host machine.


interfaceFromIndex

public static QNetworkInterface interfaceFromIndex(int index)
Returns a QNetworkInterface object for the interface whose internal ID is index. Network interfaces have a unique identifier called the "interface index" to distinguish it from other interfaces on the system. Often, this value is assigned progressively and interfaces being removed and then added again get a different value every time.

This index is also found in the IPv6 address' scope ID field.


interfaceFromName

public static QNetworkInterface interfaceFromName(java.lang.String name)
Returns a QNetworkInterface object for the interface named name. If no such interface exists, this function returns an invalid QNetworkInterface object.

See also:
name(), and isValid().


toString

public java.lang.String toString()
Returns a string representation of the this QNetworkInterface.

Overrides:
toString in class java.lang.Object

clone

public QNetworkInterface clone()
This method is reimplemented for internal reasons

Overrides:
clone in class java.lang.Object