Overview | Package | Class | Tree | Deprecated | Index | Help
Qt Jambi Home |
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.trolltech.qt.network
Class QNetworkProxy

    java.lang.Object
      com.trolltech.qt.QSignalEmitter
          com.trolltech.qt.QtJambiObject
              com.trolltech.qt.network.QNetworkProxy

All Implemented Interfaces:
  QtJambiInterface

    public class QNetworkProxy

extends QtJambiObject

The `QNetworkProxy` class provides a network layer proxy.

`QNetworkProxy` provides the method for configuring network layer proxy support to the Qt network classes. The currently supported classes are `QAbstractSocket`, `QTcpSocket`, `QUdpSocket`, `QTcpServer`, `QHttp` and `QFtp`. The proxy support is designed to be as transparent as possible. This means that existing network-enabled applications that you have written should automatically support network proxy using the following code.

        QNetworkProxy proxy;
        proxy.setType(QNetworkProxy::Socks5Proxy);
        proxy.setHostName("proxy.example.com");
        proxy.setPort(1080);
        proxy.setUser("username");
        proxy.setPassword("password");
        QNetworkProxy::setApplicationProxy(proxy);

An alternative to setting an application wide proxy is to specify the proxy for individual sockets using QAbstractSocket::setProxy() and QTcpServer::setProxy(). In this way, it is possible to disable the use of a proxy for specific sockets using the following code:

        serverSocket->setProxy(QNetworkProxy::NoProxy);

Network proxy is not used if the address used in connectToHost(), bind() or listen() is equivalent to QHostAddress::LocalHost or QHostAddress::LocalHostIPv6.

Each type of proxy support has certain restrictions associated with it. You should read the `ProxyType` documentation carefully before selecting a proxy type to use.

### SOCKS5

The SOCKS5 support in Qt 4 is based on RFC 1928 and RFC 1929. The supported authentication methods are no authentication and username/password authentication. Both IPv4 and IPv6 are supported, but domain name resolution via the SOCKS server is not supported; i.e. all domain names are resolved locally. There are several things to remember when using SOCKS5 with `QUdpSocket` and `QTcpServer`:

With `QUdpSocket`, a call to bind() may fail with a timeout error. If a port number other than 0 is passed to bind(), it is not guaranteed that it is the specified port that will be used. Use localPort() and localAddress() to get the actual address and port number in use. Because proxied UDP goes through two UDP connections, it is more likely that packets will be dropped.

With `QTcpServer` a call to listen() may fail with a timeout error. If a port number other than 0 is passed to listen(), then it is not guaranteed that it is the specified port that will be used. Use serverPort() and serverAddress() to get the actual address and port used to listen for connections. SOCKS5 only supports one accepted connection per call to listen(), and each call is likely to result in a different serverPort() being used.

See Also:
  `QAbstractSocket`, `QTcpServer`

Nested Class Summary
`static class` | `QNetworkProxy.ProxyType` This enum describes the types of network proxying provided in Qt.

Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
`QSignalEmitter.AbstractSignal, QSignalEmitter.Signal0, QSignalEmitter.Signal1<A>, QSignalEmitter.Signal2<A,B>, QSignalEmitter.Signal3<A,B,C>, QSignalEmitter.Signal4<A,B,C,D>, QSignalEmitter.Signal5<A,B,C,D,E>, QSignalEmitter.Signal6<A,B,C,D,E,F>, QSignalEmitter.Signal7<A,B,C,D,E,F,G>, QSignalEmitter.Signal8<A,B,C,D,E,F,G,H>, QSignalEmitter.Signal9<A,B,C,D,E,F,G,H,I>`

Constructor Summary
`QNetworkProxy()` Constructs a `QNetworkProxy` with `DefaultProxy` type; the proxy type is determined by `applicationProxy`, which defaults to `NoProxy`.
`QNetworkProxy(QNetworkProxy.ProxyType type, java.lang.String host, int port)` This is an overloaded constructor provided for convenience.
`QNetworkProxy(QNetworkProxy.ProxyType type, java.lang.String host, int port, java.lang.String username)` This is an overloaded constructor provided for convenience.
`QNetworkProxy(QNetworkProxy.ProxyType type, java.lang.String host, int port, java.lang.String username, java.lang.String password)` Constructs a QNetworkProxy with `type`, `hostName`, `port`, `user` and `password`.
`QNetworkProxy(QNetworkProxy other)` Constructs a copy of `other`.

Method Summary
`static QNetworkProxy` | `applicationProxy()` Returns the application level network proxying.
`static QNetworkProxy` | `fromNativePointer(QNativePointer nativePointer)` This function returns the QNetworkProxy instance pointed to by nativePointer
`java.lang.String` | `hostName()` Returns the host name of the proxy host.
`static QNativePointer` | `nativePointerArray(QNetworkProxy[] array)` This function returns a QNativePointer that is pointing to the specified QNetworkProxy array.
`java.lang.String` | `password()` Returns the password used for authentication.
`int` | `port()` Returns the port of this proxy.
`static void` | `setApplicationProxy(QNetworkProxy proxy)` Sets the application level network proxying to be `proxy`.
`void` | `setHostName(java.lang.String hostName)` Sets the host name of the proxy host to be `hostName`.
`void` | `setPassword(java.lang.String password)` Sets the password for proxy authentication to be `password`.
`void` | `setPort(int port)` Sets the port of the proxy host to be `port`.
`void` | `setType(QNetworkProxy.ProxyType type)` Sets the proxy type for this instance to be `type`.
`void` | `setUser(java.lang.String userName)` Sets the user name for proxy authentication to be `userName`.
`QNetworkProxy.ProxyType` | `type()` Returns the proxy type for this instance.
`java.lang.String` | `user()` Returns the user name used for authentication.

Methods inherited from class com.trolltech.qt.QtJambiObject
`dispose, disposed, finalize, reassignNativeResources, tr, tr, tr`

Methods inherited from class com.trolltech.qt.QSignalEmitter
`blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface com.trolltech.qt.QtJambiInterface
`disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership`

Constructor Detail

### QNetworkProxy

    public QNetworkProxy()

  Constructs a `QNetworkProxy` with `DefaultProxy` type; the proxy type is determined by `applicationProxy`, which defaults to `NoProxy`.

  See Also:
    `setType`, `setApplicationProxy`

### QNetworkProxy

    public QNetworkProxy(QNetworkProxy other)

  Constructs a copy of `other`.

### QNetworkProxy

    public QNetworkProxy(QNetworkProxy.ProxyType type,
                         java.lang.String host,
                         int port)

  This is an overloaded constructor provided for convenience.

### QNetworkProxy

    public QNetworkProxy(QNetworkProxy.ProxyType type,
                         java.lang.String host,
                         int port,
                         java.lang.String username)

  This is an overloaded constructor provided for convenience.

### QNetworkProxy

    public QNetworkProxy(QNetworkProxy.ProxyType type,
                         java.lang.String host,
                         int port,
                         java.lang.String username,
                         java.lang.String password)

  Constructs a QNetworkProxy with `type`, `hostName`, `port`, `user` and `password`.

Method Detail

### hostName

    public final java.lang.String hostName()

  Returns the host name of the proxy host.

  See Also:
    `setHostName`, `setPort`, `port`

### password

    public final java.lang.String password()

  Returns the password used for authentication.

  See Also:
    `user`, `setPassword`, `setUser`

### setHostName

    public final void setHostName(java.lang.String hostName)

  Sets the host name of the proxy host to be `hostName`.

  See Also:
    `hostName`, `setPort`, `port`

### setPassword

    public final void setPassword(java.lang.String password)

  Sets the password for proxy authentication to be `password`.

  See Also:
    `user`, `setUser`, `password`

### setType

    public final void setType(QNetworkProxy.ProxyType type)

  Sets the proxy type for this instance to be `type`.

  See Also:
    `type`

### setUser

    public final void setUser(java.lang.String userName)

  Sets the user name for proxy authentication to be `userName`.

  See Also:
    `user`, `setPassword`, `password`

### type

    public final QNetworkProxy.ProxyType type()

  Returns the proxy type for this instance.

  See Also:
    `setType`

### user

    public final java.lang.String user()

  Returns the user name used for authentication.

  See Also:
    `setUser`, `setPassword`, `password`

### applicationProxy

    public static QNetworkProxy applicationProxy()

  Returns the application level network proxying.

  If a `QAbstractSocket` or `QTcpSocket` has the QNetworkProxy::DefaultProxy type, then the `QNetworkProxy` returned by this function is used.

  See Also:
    `setApplicationProxy`, `QAbstractSocket::proxy`, `QTcpServer::proxy`

### setApplicationProxy

    public static void setApplicationProxy(QNetworkProxy proxy)

  Sets the application level network proxying to be `proxy`.

  If a `QAbstractSocket` or `QTcpSocket` has the QNetworkProxy::DefaultProxy type, then the `QNetworkProxy` set with this function is used.

  See Also:
    `applicationProxy`, `QAbstractSocket::setProxy`, `QTcpServer::setProxy`

### fromNativePointer

    public static QNetworkProxy fromNativePointer(QNativePointer nativePointer)

  This function returns the QNetworkProxy instance pointed to by nativePointer

  Parameters:
    `nativePointer` - the QNativePointer of which object should be returned.

### nativePointerArray

    public static QNativePointer nativePointerArray(QNetworkProxy[] array)

  This function returns a QNativePointer that is pointing to the specified QNetworkProxy array.

  Parameters:
    `array` - the array that the returned pointer will point to.
  Returns:
    a QNativePointer that is pointing to the specified array.

### setPort

    public final void setPort(int port)

  Sets the port of the proxy host to be `port`.

### port

    public final int port()

  Returns the port of this proxy.

Overview | Package | Class | Tree | Deprecated | Index | Help
Qt Jambi Home |
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD