GIO Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Prerequisites |
GProxy; struct GProxyInterface; #define G_PROXY_EXTENSION_POINT_NAME GIOStream * g_proxy_connect (GProxy *proxy
,GIOStream *connection
,GProxyAddress *proxy_address
,GCancellable *cancellable
,GError **error
); void g_proxy_connect_async (GProxy *proxy
,GIOStream *connection
,GProxyAddress *proxy_address
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
); GIOStream * g_proxy_connect_finish (GProxy *proxy
,GAsyncResult *result
,GError **error
); GProxy * g_proxy_get_default_for_protocol (const gchar *protocol
); gboolean g_proxy_supports_hostname (GProxy *proxy
);
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()
.
typedef struct _GProxy GProxy;
Interface that handles proxy connection and payload.
Since 2.26
struct GProxyInterface { GTypeInterface g_iface; /* Virtual Table */ 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.
GTypeInterface |
The parent interface. |
Connect to proxy server and wrap (if required) the connection to handle payload. | |
Same has connect() but asynchronous. |
|
Returns the result of connect_async()
|
|
Since 2.26
#define G_PROXY_EXTENSION_POINT_NAME "gio-proxy"
Extension point for proxy functionality. See Extending GIO.
Since 2.26
GIOStream * g_proxy_connect (GProxy *proxy
,GIOStream *connection
,GProxyAddress *proxy_address
,GCancellable *cancellable
,GError **error
);
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.
|
a GProxy |
|
a GIOStream |
|
a GProxyAddress |
|
a GCancellable. [allow-none] |
|
return GError |
Returns : |
a GIOStream that will replace connection . This might
be the same as connection , in which case a reference
will be added. [transfer full]
|
Since 2.26
void g_proxy_connect_async (GProxy *proxy
,GIOStream *connection
,GProxyAddress *proxy_address
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronous version of g_proxy_connect()
.
|
a GProxy |
|
a GIOStream |
|
a GProxyAddress |
|
a GCancellable. [allow-none] |
|
a GAsyncReadyCallback. [scope async] |
|
callback data. [closure] |
Since 2.26
GIOStream * g_proxy_connect_finish (GProxy *proxy
,GAsyncResult *result
,GError **error
);
See g_proxy_connect()
.
|
a GProxy |
|
a GAsyncRetult |
|
return GError |
Returns : |
a GIOStream. [transfer full] |
Since 2.26
GProxy * g_proxy_get_default_for_protocol (const gchar *protocol
);
Lookup "gio-proxy" extension point for a proxy implementation that supports specified protocol.
|
the proxy protocol name (e.g. http, socks, etc) |
Returns : |
return a GProxy or NULL if protocol is not supported. [transfer full] |
Since 2.26
gboolean g_proxy_supports_hostname (GProxy *proxy
);
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