From 18e5d7d3de2d5dabb94f8a7c9f665f02bb5ae324 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 30 Jul 2008 20:33:44 +0200 Subject: [PATCH] Execute resolvconf command and create Internet element --- plugins/resolvconf.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/plugins/resolvconf.c b/plugins/resolvconf.c index 45d15c3..b199646 100644 --- a/plugins/resolvconf.c +++ b/plugins/resolvconf.c @@ -32,8 +32,9 @@ static int resolvconf_probe(struct connman_element *element) { const char *nameserver = NULL; + struct connman_element *internet; gchar *cmd; - //int err; + int err; DBG("element %p name %s", element, element->name); @@ -48,25 +49,42 @@ static int resolvconf_probe(struct connman_element *element) DBG("%s", cmd); - //err = system(cmd); + err = system(cmd); g_free(cmd); + internet = connman_element_create(); + + internet->type = CONNMAN_ELEMENT_TYPE_INTERNET; + + connman_element_set_data(element, internet); + + connman_element_register(internet, element); + return 0; } static void resolvconf_remove(struct connman_element *element) { + struct connman_element *internet = connman_element_get_data(element); gchar *cmd; - //int err; + int err; DBG("element %p name %s", element, element->name); + DBG("element %p name %s", element, element->name); + + connman_element_set_data(element, NULL); + + connman_element_unregister(internet); + + connman_element_unref(internet); + cmd = g_strdup_printf("resolvconf -d %s", element->netdev.name); DBG("%s", cmd); - //err = system(cmd); + err = system(cmd); g_free(cmd); } -- 2.7.4