Class
GioResolver
Description [src]
abstract class Gio.Resolver : GObject.Object
{
GResolverPrivate* priv
}
The object that handles DNS resolution. Use g_resolver_get_default()
to get the default resolver.
GResolver provides cancellable synchronous and asynchronous DNS
resolution, for hostnames (g_resolver_lookup_by_address(),
g_resolver_lookup_by_name() and their async variants) and SRV
(service) records (g_resolver_lookup_service()).
GNetworkAddress and GNetworkService provide wrappers around GResolver functionality that also implement
GSocketConnectable, making it easy to connect to a remote host/service.
The default resolver (see g_resolver_get_default()) has a timeout of
30s set on it since GLib 2.78. Earlier versions of GLib did not support
resolver timeouts.
This is an abstract type; subclasses of it implement different resolvers for different platforms and situations.
Functions
g_resolver_free_addresses
Frees addresses (which should be the return value from
g_resolver_lookup_by_name() or g_resolver_lookup_by_name_finish()).
(This is a convenience method; you can also simply free the results
by hand.).
since: 2.22
g_resolver_free_targets
Frees targets (which should be the return value from
g_resolver_lookup_service() or g_resolver_lookup_service_finish()).
(This is a convenience method; you can also simply free the
results by hand.).
since: 2.22
g_resolver_get_default
Gets the default GResolver. You should unref it when you are done
with it. GResolver may use its reference count as a hint about how
many threads it should allocate for concurrent DNS resolutions.
since: 2.22
Instance methods
g_resolver_get_timeout
Get the timeout applied to all resolver lookups. See GResolver:timeout.
since: 2.78
g_resolver_lookup_by_address
Synchronously reverse-resolves address to determine its
associated hostname.
since: 2.22
g_resolver_lookup_by_address_async
Begins asynchronously reverse-resolving address to determine its
associated hostname, and eventually calls callback, which must call g_resolver_lookup_by_address_finish() to get the final result.
since: 2.22
g_resolver_lookup_by_address_finish
Retrieves the result of a previous call to g_resolver_lookup_by_address_async().
since: 2.22
g_resolver_lookup_by_name
Synchronously resolves hostname to determine its associated IP address(es). hostname may be an ASCII-only or UTF-8 hostname, or
the textual form of an IP address (in which case this just becomes
a wrapper around g_inet_address_new_from_string()).
since: 2.22
g_resolver_lookup_by_name_async
Begins asynchronously resolving hostname to determine its
associated IP address(es), and eventually calls callback, which
must call g_resolver_lookup_by_name_finish() to get the result. See g_resolver_lookup_by_name() for more details.
since: 2.22
g_resolver_lookup_by_name_finish
Retrieves the result of a call to g_resolver_lookup_by_name_async().
since: 2.22
g_resolver_lookup_by_name_with_flags
This differs from g_resolver_lookup_by_name() in that you can modify
the lookup behavior with flags. For example this can be used to limit
results with G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY.
since: 2.60
g_resolver_lookup_by_name_with_flags_async
Begins asynchronously resolving hostname to determine its
associated IP address(es), and eventually calls callback, which
must call g_resolver_lookup_by_name_with_flags_finish() to get the result. See g_resolver_lookup_by_name() for more details.
since: 2.60
g_resolver_lookup_by_name_with_flags_finish
Retrieves the result of a call to g_resolver_lookup_by_name_with_flags_async().
since: 2.60
g_resolver_lookup_records
Synchronously performs a DNS record lookup for the given rrname and returns
a list of records as GVariant tuples. See GResolverRecordType for
information on what the records contain for each record_type.
since: 2.34
g_resolver_lookup_records_async
Begins asynchronously performing a DNS lookup for the given
rrname, and eventually calls callback, which must call
g_resolver_lookup_records_finish() to get the final result. See
g_resolver_lookup_records() for more details.
since: 2.34
g_resolver_lookup_records_finish
Retrieves the result of a previous call to
g_resolver_lookup_records_async(). Returns a non-empty list of records as
GVariant tuples. See GResolverRecordType for information on what the
records contain.
since: 2.34
g_resolver_lookup_service
Synchronously performs a DNS SRV lookup for the given service and
protocol in the given domain and returns an array of GSrvTarget.
domain may be an ASCII-only or UTF-8 hostname. Note also that the
service and protocol arguments do not include the leading underscore
that appears in the actual DNS entry.
since: 2.22
g_resolver_lookup_service_async
Begins asynchronously performing a DNS SRV lookup for the given
service and protocol in the given domain, and eventually calls
callback, which must call g_resolver_lookup_service_finish() to
get the final result. See g_resolver_lookup_service() for more details.
since: 2.22
g_resolver_lookup_service_finish
Retrieves the result of a previous call to g_resolver_lookup_service_async().
since: 2.22
g_resolver_set_default
Sets resolver to be the application’s default resolver (reffing
resolver, and unreffing the previous default resolver, if any).
Future calls to g_resolver_get_default() will return this resolver.
since: 2.22
g_resolver_set_timeout
Set the timeout applied to all resolver lookups. See GResolver:timeout.
since: 2.78
Signals
Gio.Resolver::reload
Emitted when the resolver notices that the system resolver configuration has changed.
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Class structure
struct GioResolverClass {
GObjectClass parent_class;
void (* reload) (
GResolver* resolver
);
GList* (* lookup_by_name) (
GResolver* resolver,
const gchar* hostname,
GCancellable* cancellable,
GError** error
);
void (* lookup_by_name_async) (
GResolver* resolver,
const gchar* hostname,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
GList* (* lookup_by_name_finish) (
GResolver* resolver,
GAsyncResult* result,
GError** error
);
gchar* (* lookup_by_address) (
GResolver* resolver,
GInetAddress* address,
GCancellable* cancellable,
GError** error
);
void (* lookup_by_address_async) (
GResolver* resolver,
GInetAddress* address,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
gchar* (* lookup_by_address_finish) (
GResolver* resolver,
GAsyncResult* result,
GError** error
);
GList* (* lookup_service) (
GResolver* resolver,
const gchar* rrname,
GCancellable* cancellable,
GError** error
);
void (* lookup_service_async) (
GResolver* resolver,
const gchar* rrname,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
GList* (* lookup_service_finish) (
GResolver* resolver,
GAsyncResult* result,
GError** error
);
GList* (* lookup_records) (
GResolver* resolver,
const gchar* rrname,
GResolverRecordType record_type,
GCancellable* cancellable,
GError** error
);
void (* lookup_records_async) (
GResolver* resolver,
const gchar* rrname,
GResolverRecordType record_type,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
GList* (* lookup_records_finish) (
GResolver* resolver,
GAsyncResult* result,
GError** error
);
void (* lookup_by_name_with_flags_async) (
GResolver* resolver,
const gchar* hostname,
GResolverNameLookupFlags flags,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
GList* (* lookup_by_name_with_flags_finish) (
GResolver* resolver,
GAsyncResult* result,
GError** error
);
GList* (* lookup_by_name_with_flags) (
GResolver* resolver,
const gchar* hostname,
GResolverNameLookupFlags flags,
GCancellable* cancellable,
GError** error
);
}
No description available.
Class members
parent_class: GObjectClassNo description available.
reload: void (* reload) ( GResolver* resolver )No description available.
lookup_by_name: GList* (* lookup_by_name) ( GResolver* resolver, const gchar* hostname, GCancellable* cancellable, GError** error )No description available.
lookup_by_name_async: void (* lookup_by_name_async) ( GResolver* resolver, const gchar* hostname, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )No description available.
lookup_by_name_finish: GList* (* lookup_by_name_finish) ( GResolver* resolver, GAsyncResult* result, GError** error )No description available.
lookup_by_address: gchar* (* lookup_by_address) ( GResolver* resolver, GInetAddress* address, GCancellable* cancellable, GError** error )No description available.
lookup_by_address_async: void (* lookup_by_address_async) ( GResolver* resolver, GInetAddress* address, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )No description available.
lookup_by_address_finish: gchar* (* lookup_by_address_finish) ( GResolver* resolver, GAsyncResult* result, GError** error )No description available.
lookup_service: GList* (* lookup_service) ( GResolver* resolver, const gchar* rrname, GCancellable* cancellable, GError** error )No description available.
lookup_service_async: void (* lookup_service_async) ( GResolver* resolver, const gchar* rrname, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )No description available.
lookup_service_finish: GList* (* lookup_service_finish) ( GResolver* resolver, GAsyncResult* result, GError** error )No description available.
lookup_records: GList* (* lookup_records) ( GResolver* resolver, const gchar* rrname, GResolverRecordType record_type, GCancellable* cancellable, GError** error )No description available.
lookup_records_async: void (* lookup_records_async) ( GResolver* resolver, const gchar* rrname, GResolverRecordType record_type, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )No description available.
lookup_records_finish: GList* (* lookup_records_finish) ( GResolver* resolver, GAsyncResult* result, GError** error )No description available.
lookup_by_name_with_flags_async: void (* lookup_by_name_with_flags_async) ( GResolver* resolver, const gchar* hostname, GResolverNameLookupFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )No description available.
lookup_by_name_with_flags_finish: GList* (* lookup_by_name_with_flags_finish) ( GResolver* resolver, GAsyncResult* result, GError** error )No description available.
lookup_by_name_with_flags: GList* (* lookup_by_name_with_flags) ( GResolver* resolver, const gchar* hostname, GResolverNameLookupFlags flags, GCancellable* cancellable, GError** error )No description available.
Virtual methods
Gio.ResolverClass.lookup_by_address
Synchronously reverse-resolves address to determine its
associated hostname.
since: 2.22
Gio.ResolverClass.lookup_by_address_async
Begins asynchronously reverse-resolving address to determine its
associated hostname, and eventually calls callback, which must call g_resolver_lookup_by_address_finish() to get the final result.
since: 2.22
Gio.ResolverClass.lookup_by_address_finish
Retrieves the result of a previous call to g_resolver_lookup_by_address_async().
since: 2.22
Gio.ResolverClass.lookup_by_name
Synchronously resolves hostname to determine its associated IP address(es). hostname may be an ASCII-only or UTF-8 hostname, or
the textual form of an IP address (in which case this just becomes
a wrapper around g_inet_address_new_from_string()).
since: 2.22
Gio.ResolverClass.lookup_by_name_async
Begins asynchronously resolving hostname to determine its
associated IP address(es), and eventually calls callback, which
must call g_resolver_lookup_by_name_finish() to get the result. See g_resolver_lookup_by_name() for more details.
since: 2.22
Gio.ResolverClass.lookup_by_name_finish
Retrieves the result of a call to g_resolver_lookup_by_name_async().
since: 2.22
Gio.ResolverClass.lookup_by_name_with_flags
This differs from g_resolver_lookup_by_name() in that you can modify
the lookup behavior with flags. For example this can be used to limit
results with G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY.
since: 2.60
Gio.ResolverClass.lookup_by_name_with_flags_async
Begins asynchronously resolving hostname to determine its
associated IP address(es), and eventually calls callback, which
must call g_resolver_lookup_by_name_with_flags_finish() to get the result. See g_resolver_lookup_by_name() for more details.
since: 2.60
Gio.ResolverClass.lookup_by_name_with_flags_finish
Retrieves the result of a call to g_resolver_lookup_by_name_with_flags_async().
since: 2.60
Gio.ResolverClass.lookup_records
Synchronously performs a DNS record lookup for the given rrname and returns
a list of records as GVariant tuples. See GResolverRecordType for
information on what the records contain for each record_type.
since: 2.34
Gio.ResolverClass.lookup_records_async
Begins asynchronously performing a DNS lookup for the given
rrname, and eventually calls callback, which must call
g_resolver_lookup_records_finish() to get the final result. See
g_resolver_lookup_records() for more details.
since: 2.34
Gio.ResolverClass.lookup_records_finish
Retrieves the result of a previous call to
g_resolver_lookup_records_async(). Returns a non-empty list of records as
GVariant tuples. See GResolverRecordType for information on what the
records contain.
since: 2.34
Gio.ResolverClass.lookup_service_finish
Retrieves the result of a previous call to g_resolver_lookup_service_async().
since: 2.22