Class Proxy

All Implemented Interfaces:
PointerInterface

public class Proxy extends Interface
A #GProxy handles connecting to a remote host via a given type of
proxy server. It is implemented by the 'gio-proxy' extension point.
The extensions are named after their proxy protocol name. As an
example, a SOCKS5 proxy implementation can be retrieved with the
name 'socks5' using the function
g_io_extension_point_get_extension_by_name().

https://docs.gtk.org/gio/iface.Proxy.html

  • Constructor Details

  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • connect

      public IOStream connect(@Nonnull IOStream connection, @Nonnull ProxyAddress proxy_address, @Nullable Cancellable cancellable) throws AllocationError
      Given @connection to communicate with a proxy (eg, a
      #GSocketConnection that is connected to the proxy server), this
      does the necessary handshake to connect to @proxy_address, and if
      required, wraps the #GIOStream to handle proxy payload.
      Parameters:
      connection - a #GIOStream
      proxy_address - a #GProxyAddress
      cancellable - a #GCancellable
      Returns:
      a #GIOStream that will replace @connection. This might be the same as @connection, in which case a reference will be added.
      Throws:
      AllocationError
    • connectAsync

      public void connectAsync(@Nonnull IOStream connection, @Nonnull ProxyAddress proxy_address, @Nullable Cancellable cancellable, Proxy.OnAsyncReadyCallback callback, @Nullable Pointer user_data)
      Asynchronous version of g_proxy_connect().
      Parameters:
      connection - a #GIOStream
      proxy_address - a #GProxyAddress
      cancellable - a #GCancellable
      callback - a #GAsyncReadyCallback
      user_data - callback data
    • connectFinish

      public IOStream connectFinish(@Nonnull AsyncResult result) throws AllocationError
      See g_proxy_connect().
      Parameters:
      result - a #GAsyncResult
      Returns:
      a #GIOStream.
      Throws:
      AllocationError
    • supportsHostname

      public boolean supportsHostname()
      Some proxy protocols expect to be passed a hostname, which they
      will resolve to an IP address themselves. Others, like SOCKS4, do
      not allow this. This function will return %FALSE if @proxy is
      implementing such a protocol. When %FALSE is returned, the caller
      should resolve the destination hostname first, and then pass a
      #GProxyAddress containing the stringified IP address to
      g_proxy_connect() or g_proxy_connect_async().
      Returns:
      %TRUE if hostname resolution is supported.
    • getDefaultForProtocol

      public static Proxy getDefaultForProtocol(@Nonnull Str protocol)
      Find the `gio-proxy` extension point for a proxy implementation that supports
      the specified protocol.
      Parameters:
      protocol - the proxy protocol name (e.g. http, socks, etc)
      Returns:
      return a #GProxy or NULL if protocol is not supported.
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()