The core will remove children in reverse order automatically
authorMarcel Holtmann <marcel@holtmann.org>
Sun, 10 Aug 2008 08:23:16 +0000 (10:23 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Sun, 10 Aug 2008 08:23:16 +0000 (10:23 +0200)
plugins/ipv4.c
plugins/resolvconf.c
plugins/resolvfile.c

index 9654c76..17d6c53 100644 (file)
@@ -204,8 +204,6 @@ static int ipv4_probe(struct connman_element *element)
        resolver->type = CONNMAN_ELEMENT_TYPE_RESOLVER;
        resolver->netdev.name = g_strdup(element->netdev.name);
 
        resolver->type = CONNMAN_ELEMENT_TYPE_RESOLVER;
        resolver->netdev.name = g_strdup(element->netdev.name);
 
-       connman_element_set_data(element, resolver);
-
        connman_element_register(resolver, element);
 
        return 0;
        connman_element_register(resolver, element);
 
        return 0;
@@ -213,16 +211,8 @@ static int ipv4_probe(struct connman_element *element)
 
 static void ipv4_remove(struct connman_element *element)
 {
 
 static void ipv4_remove(struct connman_element *element)
 {
-       struct connman_element *resolver = connman_element_get_data(element);
-
        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(resolver);
-
-       connman_element_unref(resolver);
-
        clear_ipv4(element);
 }
 
        clear_ipv4(element);
 }
 
index b065060..e512f2b 100644 (file)
@@ -64,8 +64,6 @@ static int resolvconf_probe(struct connman_element *element)
 
        internet->type = CONNMAN_ELEMENT_TYPE_INTERNET;
 
 
        internet->type = CONNMAN_ELEMENT_TYPE_INTERNET;
 
-       connman_element_set_data(element, internet);
-
        connman_element_register(internet, element);
 
        return 0;
        connman_element_register(internet, element);
 
        return 0;
@@ -73,18 +71,11 @@ static int resolvconf_probe(struct connman_element *element)
 
 static void resolvconf_remove(struct connman_element *element)
 {
 
 static void resolvconf_remove(struct connman_element *element)
 {
-       struct connman_element *internet = connman_element_get_data(element);
        gchar *cmd;
        int err;
 
        DBG("element %p name %s", element, element->name);
 
        gchar *cmd;
        int err;
 
        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("%s -d %s", RESOLVCONF, element->netdev.name);
 
        DBG("%s", cmd);
        cmd = g_strdup_printf("%s -d %s", RESOLVCONF, element->netdev.name);
 
        DBG("%s", cmd);
index bf48081..5ea3422 100644 (file)
@@ -67,8 +67,6 @@ static int resolvfile_probe(struct connman_element *element)
 
        internet->type = CONNMAN_ELEMENT_TYPE_INTERNET;
 
 
        internet->type = CONNMAN_ELEMENT_TYPE_INTERNET;
 
-       connman_element_set_data(element, internet);
-
        connman_element_register(internet, element);
 
        return 0;
        connman_element_register(internet, element);
 
        return 0;
@@ -76,15 +74,7 @@ static int resolvfile_probe(struct connman_element *element)
 
 static void resolvfile_remove(struct connman_element *element)
 {
 
 static void resolvfile_remove(struct connman_element *element)
 {
-       struct connman_element *internet = connman_element_get_data(element);
-
        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);
 }
 
 static struct connman_driver resolvfile_driver = {
 }
 
 static struct connman_driver resolvfile_driver = {