summaryrefslogtreecommitdiff
path: root/lib/gibber/examples/test-resolv.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gibber/examples/test-resolv.c')
-rw-r--r--lib/gibber/examples/test-resolv.c130
1 files changed, 0 insertions, 130 deletions
diff --git a/lib/gibber/examples/test-resolv.c b/lib/gibber/examples/test-resolv.c
deleted file mode 100644
index bdaf99e9..00000000
--- a/lib/gibber/examples/test-resolv.c
+++ /dev/null
@@ -1,130 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <string.h>
-
-#include <glib.h>
-
-#include <gibber/gibber-resolver.h>
-
-GMainLoop *mainloop;
-const gchar *hostname;
-const gchar *servicename;
-
-gboolean done = FALSE;
-int to_resolve = 0;
-
-GibberResolver *resolver;
-
-static void
-resolver_addrinfo_cb (GibberResolver *resolver, GList *entries, GError *error,
- gpointer user_data, GObject *weak_object)
-{
- GList *e;
- GibberResolverSrvRecord *r = (GibberResolverSrvRecord *) user_data;
-
- printf ("-- %s %d:\n", r->hostname, r->port);
- if (error != NULL)
- {
- printf ("\tResolving failed: %s\n", error->message);
- goto out;
- }
-
- for (e = entries; e != NULL; e = e->next)
- {
- GibberResolverAddrInfo *addr = (GibberResolverAddrInfo *) e->data;
- gchar *hostname, *portname;
- gboolean ret;
-
- ret = gibber_resolver_sockaddr_to_str (
- (struct sockaddr *) &(addr->sockaddr), addr->sockaddr_len,
- &hostname, &portname, NULL);
-
- g_assert (ret == TRUE);
-
- printf ("\t %s %s\n", hostname, portname);
-
- g_free (hostname);
- g_free (portname);
- }
-
- gibber_resolver_addrinfo_list_free (entries);
-
-out:
- to_resolve--;
- if (to_resolve == 0)
- {
- done = TRUE;
- if (g_main_loop_is_running (mainloop))
- g_main_loop_quit (mainloop);
- }
-}
-
-static void
-resolver_srv_cb (GibberResolver *resolver, GList *srv_list, GError *error,
- gpointer user_data, GObject *weak_object)
-{
- GList *s;
-
- printf ("--Srv returned--\n");
- if (error != NULL)
- {
- printf ("An error occured: %s\n", error->message);
- goto failed;
- }
-
- if (srv_list == NULL)
- {
- printf ("No srv records\n");
- goto failed;
- }
-
- for (s = srv_list ; s != NULL; s = s->next)
- {
- GibberResolverSrvRecord *r = (GibberResolverSrvRecord *) s->data;
- printf ("\t* %s\t%d\tp: %d w: %d\n", r->hostname, r->port,
- r->priority, r->weight);
- }
-
- printf ("Resolving individual records\n");
-
- to_resolve = g_list_length (srv_list);
- for (s = srv_list ; s != NULL; s = g_list_delete_link (s, s))
- {
- GibberResolverSrvRecord *r = (GibberResolverSrvRecord *) s->data;
- gchar *portname = g_strdup_printf("%d", r->port);
-
- gibber_resolver_addrinfo (resolver,
- r->hostname, portname, AF_UNSPEC, SOCK_STREAM, IPPROTO_TCP, 0,
- resolver_addrinfo_cb, r, (GDestroyNotify) gibber_resolver_srv_free,
- NULL);
- }
-
- return;
-
-failed:
- done = TRUE;
-}
-
-int
-main(int argc, char **argv) {
- g_type_init();
-
- g_assert (argc > 2);
-
- hostname = argv[1];
- servicename = argv[2];
-
- mainloop = g_main_loop_new(NULL, FALSE);
-
- resolver = gibber_resolver_get_resolver ();
-
- gibber_resolver_srv (resolver, hostname, servicename,
- GIBBER_RESOLVER_SERVICE_TYPE_TCP,
- resolver_srv_cb, NULL, NULL, NULL);
-
- if (!done)
- g_main_loop_run(mainloop);
-
- return 0;
-}