Interface
GioProxy
since: 2.26
Description [src]
interface Gio.Proxy : GObject.ObjectA 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().
Available since: 2.26
Prerequisite
In order to implement Proxy, your type must inherit fromGObject.
Functions
g_proxy_get_default_for_protocol
Find the gio-proxy extension point for a proxy implementation that supports
the specified protocol.
since: 2.26
Instance methods
g_proxy_connect
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.
since: 2.26
g_proxy_supports_hostname
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().
since: 2.26
Interface structure
struct GioProxyInterface {
  GTypeInterface g_iface;
  GIOStream* (* connect) (
    GProxy* proxy,
    GIOStream* connection,
    GProxyAddress* proxy_address,
    GCancellable* cancellable,
    GError** error
  );
  void (* connect_async) (
    GProxy* proxy,
    GIOStream* connection,
    GProxyAddress* proxy_address,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GIOStream* (* connect_finish) (
    GProxy* proxy,
    GAsyncResult* result,
    GError** error
  );
  gboolean (* supports_hostname) (
    GProxy* proxy
  );
  
}Provides an interface for handling proxy connection and payload.
Interface members
| g_iface |  | 
| The parent interface. | |
| connect |  | 
| Connect to proxy server and wrap (if required) the #connection to handle payload. | |
| connect_async |  | 
| Same as  | |
| connect_finish |  | 
| Returns the result of connect_async(). | |
| supports_hostname |  | 
| Returns whether the proxy supports hostname lookups. | 
Virtual methods
Gio.Proxy.connect
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.
since: 2.26
Gio.Proxy.supports_hostname
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().
since: 2.26