Interface
GioProxy
since: 2.26
Description
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 |
|
No description available. | |
connect_async |
|
No description available. | |
connect_finish |
|
No description available. | |
supports_hostname |
|
No description available. |
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