static void lookup_service_async (GResolver *resolver, const char *rrname, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { GUnixResolver *gur = G_UNIX_RESOLVER (resolver); GUnixResolverRequest *req; _g_asyncns_query_t *qy; qy = _g_asyncns_res_query (gur->asyncns, rrname, C_IN, T_SRV); req = resolve_async (gur, qy, lookup_service_process, lookup_service_free, cancellable, callback, user_data, lookup_service_async); req->u.service.service = g_strdup (rrname); }
static void lookup_by_name_async (GResolver *resolver, const gchar *hostname, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { GUnixResolver *gur = G_UNIX_RESOLVER (resolver); GUnixResolverRequest *req; _g_asyncns_query_t *qy; qy = _g_asyncns_getaddrinfo (gur->asyncns, hostname, NULL, &_g_resolver_addrinfo_hints); req = resolve_async (gur, qy, lookup_by_name_process, lookup_by_name_free, cancellable, callback, user_data, lookup_by_name_async); req->u.name.hostname = g_strdup (hostname); }
static void lookup_by_address_async (GResolver *resolver, GInetAddress *address, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { GUnixResolver *gur = G_UNIX_RESOLVER (resolver); GUnixResolverRequest *req; _g_asyncns_query_t *qy; struct sockaddr_storage sockaddr; gsize sockaddr_size; _g_resolver_address_to_sockaddr (address, &sockaddr, &sockaddr_size); qy = _g_asyncns_getnameinfo (gur->asyncns, (struct sockaddr *)&sockaddr, sockaddr_size, NI_NAMEREQD, TRUE, FALSE); req = resolve_async (gur, qy, lookup_by_address_process, lookup_by_address_free, cancellable, callback, user_data, lookup_by_address_async); req->u.address.address = g_object_ref (address); }
naming::id_type symbol_namespace::resolve(std::string key) const { return resolve_async(std::move(key)).get(); }