ProxyT

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().

Members

Functions

connect
IOStream connect(IOStream connection, ProxyAddress proxyAddress, Cancellable cancellable)

Given connection to communicate with a proxy (eg, a gio.SocketConnection that is connected to the proxy server), this does the necessary handshake to connect to proxy_address, and if required, wraps the gio.IOStream to handle proxy payload.

connectAsync
void connectAsync(IOStream connection, ProxyAddress proxyAddress, Cancellable cancellable, GAsyncReadyCallback callback, void* userData)

Asynchronous version of g_proxy_connect().

connectFinish
IOStream connectFinish(AsyncResultIF result)

See g_proxy_connect().

getProxyStruct
GProxy* getProxyStruct(bool transferOwnership)

Get the main Gtk struct

supportsHostname
bool 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 gio.ProxyAddress containing the stringified IP address to g_proxy_connect() or g_proxy_connect_async().

Meta

Since

2.26