GIO Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Prerequisites |
#include <gio/gio.h> GProxyResolver; struct GProxyResolverInterface; #define G_PROXY_RESOLVER_EXTENSION_POINT_NAME GProxyResolver * g_proxy_resolver_get_default (void
); gboolean g_proxy_resolver_is_supported (GProxyResolver *resolver
); gchar ** g_proxy_resolver_lookup (GProxyResolver *resolver
,const gchar *uri
,GCancellable *cancellable
,GError **error
); void g_proxy_resolver_lookup_async (GProxyResolver *resolver
,const gchar *uri
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
); gchar ** g_proxy_resolver_lookup_finish (GProxyResolver *resolver
,GAsyncResult *result
,GError **error
);
GProxyResolver provides synchronous and asynchronous network proxy
resolution. GProxyResolver is used within GClientSocket through
the method g_socket_connectable_proxy_enumerate()
.
typedef struct _GProxyResolver GProxyResolver;
Interface that can be used to resolve proxy address.
Since 2.26
struct GProxyResolverInterface { GTypeInterface g_iface; /* Virtual Table */ gboolean (* is_supported) (GProxyResolver *resolver); gchar ** (* lookup) (GProxyResolver *resolver, const gchar *uri, GCancellable *cancellable, GError **error); void (* lookup_async) (GProxyResolver *resolver, const gchar *uri, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gchar ** (* lookup_finish) (GProxyResolver *resolver, GAsyncResult *result, GError **error); };
#define G_PROXY_RESOLVER_EXTENSION_POINT_NAME "gio-proxy-resolver"
Extension point for proxy resolving functionality. See Extending GIO.
GProxyResolver * g_proxy_resolver_get_default (void
);
Gets the default GProxyResolver for the system.
Returns : |
the default GProxyResolver. [transfer none] |
Since 2.26
gboolean g_proxy_resolver_is_supported (GProxyResolver *resolver
);
Checks if resolver
can be used on this system. (This is used
internally; g_proxy_resolver_get_default()
will only return a proxy
resolver that returns TRUE
for this method.)
|
a GProxyResolver |
Returns : |
TRUE if resolver is supported. |
Since 2.26
gchar ** g_proxy_resolver_lookup (GProxyResolver *resolver
,const gchar *uri
,GCancellable *cancellable
,GError **error
);
Looks into the system proxy configuration to determine what proxy,
if any, to use to connect to uri
. The returned proxy URIs are of the
form <protocol>://[user[:password]@]host:port
or direct://
, where <protocol> could be
http, rtsp, socks or other proxying protocol.
If you don't know what network protocol is being used on the
socket, you should use none
as the URI protocol.
In this case, the resolver might still return a generic proxy type
(such as SOCKS), but would not return protocol-specific proxy types
(such as http).
direct://
is used when no proxy is needed.
Direct connection should not be attempted unless it is part of the
returned array of proxies.
|
a GProxyResolver |
|
a URI representing the destination to connect to |
|
a GCancellable, or NULL . [allow-none]
|
|
return location for a GError, or NULL
|
Returns : |
A
NULL-terminated array of proxy URIs. Must be freed
with g_strfreev() . [transfer full][array zero-terminated=1]
|
Since 2.26
void g_proxy_resolver_lookup_async (GProxyResolver *resolver
,const gchar *uri
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronous lookup of proxy. See g_proxy_resolver_lookup()
for more
details.
|
a GProxyResolver |
|
a URI representing the destination to connect to |
|
a GCancellable, or NULL . [allow-none]
|
|
callback to call after resolution completes. [scope async] |
|
data for callback . [closure]
|
Since 2.26
gchar ** g_proxy_resolver_lookup_finish (GProxyResolver *resolver
,GAsyncResult *result
,GError **error
);
Call this function to obtain the array of proxy URIs when
g_proxy_resolver_lookup_async()
is complete. See
g_proxy_resolver_lookup()
for more details.
|
a GProxyResolver |
|
the result passed to your GAsyncReadyCallback |
|
return location for a GError, or NULL
|
Returns : |
A
NULL-terminated array of proxy URIs. Must be freed
with g_strfreev() . [transfer full][array zero-terminated=1]
|
Since 2.26