service: Simplify nameserver route adding and removing
[framework/connectivity/connman.git] / tools / resolv-test.c
index 6112406..9867a4b 100644 (file)
@@ -2,7 +2,7 @@
  *
  *  Connection Manager
  *
- *  Copyright (C) 2007-2010  Intel Corporation. All rights reserved.
+ *  Copyright (C) 2007-2012  Intel Corporation. All rights reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
@@ -28,7 +28,7 @@
 #include <string.h>
 #include <signal.h>
 
-#include <gresolv/gresolv.h>
+#include <gweb/gresolv.h>
 
 static GTimer *timer;
 
@@ -44,6 +44,30 @@ static void sig_term(int sig)
        g_main_loop_quit(main_loop);
 }
 
+static const char *status2str(GResolvResultStatus status)
+{
+       switch (status) {
+       case G_RESOLV_RESULT_STATUS_SUCCESS:
+               return "success";
+       case G_RESOLV_RESULT_STATUS_ERROR:
+               return "error";
+       case G_RESOLV_RESULT_STATUS_NO_RESPONSE:
+               return "no response";
+       case G_RESOLV_RESULT_STATUS_FORMAT_ERROR:
+               return "format error";
+       case G_RESOLV_RESULT_STATUS_SERVER_FAILURE:
+               return "server failure";
+       case G_RESOLV_RESULT_STATUS_NAME_ERROR:
+               return "name error";
+       case G_RESOLV_RESULT_STATUS_NOT_IMPLEMENTED:
+               return "not implemented";
+       case G_RESOLV_RESULT_STATUS_REFUSED:
+               return "refused";
+       }
+
+       return NULL;
+}
+
 static void resolv_result(GResolvResultStatus status,
                                        char **results, gpointer user_data)
 {
@@ -54,7 +78,7 @@ static void resolv_result(GResolvResultStatus status,
 
        g_print("elapse: %f seconds\n", elapsed);
 
-       g_print("status: %d\n", status);
+       g_print("status: %s\n", status2str(status));
 
        if (results != NULL) {
                for (i = 0; results[i]; i++)
@@ -115,12 +139,15 @@ int main(int argc, char *argv[])
 
                for (i = 2; i < argc; i++)
                        g_resolv_add_nameserver(resolv, argv[i], 53, 0);
-       } else
-               g_resolv_add_nameserver(resolv, "127.0.0.1", 53, 0);
+       }
 
        timer = g_timer_new();
 
-       g_resolv_lookup_hostname(resolv, argv[1], resolv_result, NULL);
+       if (g_resolv_lookup_hostname(resolv, argv[1],
+                                       resolv_result, NULL) == 0) {
+               printf("failed to start lookup\n");
+               return 1;
+       }
 
        memset(&sa, 0, sizeof(sa));
        sa.sa_handler = sig_term;