Interface
GioProxy
since: 2.26
Description [src]
interface Gio.Proxy : GObject.Object
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()
.
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