This email list is read-only.  Emails sent to this list will be discarded
----------------------------------
 plugins/ipv4.c       |   10 ----------
 plugins/resolvconf.c |    9 ---------
 plugins/resolvfile.c |   10 ----------
 src/element.c        |   49 +++++++++++++++++++++++++------------------------
 src/manager.c        |   37 ++++---------------------------------
 5 files changed, 29 insertions(+), 86 deletions(-)

New commits:
commit e53e3eb4fae306bfb6bf26bf57c3a9530841487d
Author: Marcel Holtmann <[EMAIL PROTECTED]>
Date:   Sun Aug 10 10:26:25 2008 +0200

    Remove deprecated device API

commit 2657bbff7f718c5f822bdffd4b10b70ce3b21a33
Author: Marcel Holtmann <[EMAIL PROTECTED]>
Date:   Sun Aug 10 10:23:16 2008 +0200

    The core will remove children in reverse order automatically

commit a98f8a0b02a619b6c7eb5d09c56e4930f6a83eee
Author: Marcel Holtmann <[EMAIL PROTECTED]>
Date:   Sun Aug 10 10:08:18 2008 +0200

    Remove all children before removing the parent node


Diff in this email is a maximum of 400 lines.
diff --git a/plugins/ipv4.c b/plugins/ipv4.c
index 9654c76..17d6c53 100644
--- a/plugins/ipv4.c
+++ b/plugins/ipv4.c
@@ -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);
 
-       connman_element_set_data(element, resolver);
-
        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)
 {
-       struct connman_element *resolver = connman_element_get_data(element);
-
        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);
 }
 
diff --git a/plugins/resolvconf.c b/plugins/resolvconf.c
index b065060..e512f2b 100644
--- a/plugins/resolvconf.c
+++ b/plugins/resolvconf.c
@@ -64,8 +64,6 @@ static int resolvconf_probe(struct connman_element *element)
 
        internet->type = CONNMAN_ELEMENT_TYPE_INTERNET;
 
-       connman_element_set_data(element, internet);
-
        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)
 {
-       struct connman_element *internet = connman_element_get_data(element);
        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);
diff --git a/plugins/resolvfile.c b/plugins/resolvfile.c
index bf48081..5ea3422 100644
--- a/plugins/resolvfile.c
+++ b/plugins/resolvfile.c
@@ -67,8 +67,6 @@ static int resolvfile_probe(struct connman_element *element)
 
        internet->type = CONNMAN_ELEMENT_TYPE_INTERNET;
 
-       connman_element_set_data(element, internet);
-
        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)
 {
-       struct connman_element *internet = connman_element_get_data(element);
-
        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 = {
diff --git a/src/element.c b/src/element.c
index 2d4c5fb..365b42b 100644
--- a/src/element.c
+++ b/src/element.c
@@ -712,10 +712,6 @@ static void register_element(gpointer data, gpointer 
user_data)
 
        g_node_append_data(node, element);
 
-       g_static_rw_lock_writer_unlock(&element_lock);
-
-       __connman_element_store(element);
-
        if (g_dbus_register_interface(connection, element->path,
                                        CONNMAN_ELEMENT_INTERFACE,
                                        element_methods, NULL, NULL,
@@ -727,11 +723,9 @@ static void register_element(gpointer data, gpointer 
user_data)
                                DBUS_TYPE_OBJECT_PATH, &element->path,
                                                        DBUS_TYPE_INVALID);
 
-       if (element->type == CONNMAN_ELEMENT_TYPE_DEVICE)
-               g_dbus_emit_signal(connection, CONNMAN_MANAGER_PATH,
-                               CONNMAN_MANAGER_INTERFACE, "DeviceAdded",
-                               DBUS_TYPE_OBJECT_PATH, &element->path,
-                                                       DBUS_TYPE_INVALID);
+       g_static_rw_lock_writer_unlock(&element_lock);
+
+       __connman_element_store(element);
 
        g_static_rw_lock_writer_lock(&element_lock);
 
@@ -754,17 +748,12 @@ static void register_element(gpointer data, gpointer 
user_data)
        g_static_rw_lock_writer_unlock(&element_lock);
 }
 
-static void unregister_element(gpointer data, gpointer user_data)
+static gboolean remove_element(GNode *node, gpointer user_data)
 {
-       struct connman_element *element = data;
-       GNode *node;
+       struct connman_element *element = node->data;
 
        DBG("element %p name %s", element, element->name);
 
-       g_static_rw_lock_writer_lock(&element_lock);
-
-       node = g_node_find(element_root, G_PRE_ORDER, G_TRAVERSE_ALL, element);
-
        if (element->driver) {
                if (element->driver->remove)
                        element->driver->remove(element);
@@ -779,14 +768,6 @@ static void unregister_element(gpointer data, gpointer 
user_data)
                g_node_destroy(node);
        }
 
-       g_static_rw_lock_writer_unlock(&element_lock);
-
-       if (element->type == CONNMAN_ELEMENT_TYPE_DEVICE)
-               g_dbus_emit_signal(connection, CONNMAN_MANAGER_PATH,
-                               CONNMAN_MANAGER_INTERFACE, "DeviceRemoved",
-                               DBUS_TYPE_OBJECT_PATH, &element->path,
-                                                       DBUS_TYPE_INVALID);
-
        g_dbus_emit_signal(connection, CONNMAN_MANAGER_PATH,
                                CONNMAN_MANAGER_INTERFACE, "ElementRemoved",
                                DBUS_TYPE_OBJECT_PATH, &element->path,
@@ -796,6 +777,26 @@ static void unregister_element(gpointer data, gpointer 
user_data)
                                                CONNMAN_ELEMENT_INTERFACE);
 
        connman_element_unref(element);
+
+       return FALSE;
+}
+
+static void unregister_element(gpointer data, gpointer user_data)
+{
+       struct connman_element *element = data;
+       GNode *node;
+
+       DBG("element %p name %s", element, element->name);
+
+       g_static_rw_lock_writer_lock(&element_lock);
+
+       node = g_node_find(element_root, G_PRE_ORDER, G_TRAVERSE_ALL, element);
+
+       if (node != NULL)
+               g_node_traverse(node, G_POST_ORDER,
+                               G_TRAVERSE_ALL, -1, remove_element, NULL);
+
+       g_static_rw_lock_writer_unlock(&element_lock);
 }
 
 int __connman_element_init(DBusConnection *conn, const char *device)
diff --git a/src/manager.c b/src/manager.c
index c4ea0fb..27f6fc5 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -123,38 +123,11 @@ static DBusMessage *list_elements(DBusConnection *conn,
        return reply;
 }
 
-static DBusMessage *list_devices(DBusConnection *conn,
-                                       DBusMessage *msg, void *data)
-{
-       DBusMessage *reply;
-       DBusMessageIter array, iter;
-
-       DBG("conn %p", conn);
-
-       reply = dbus_message_new_method_return(msg);
-       if (reply == NULL)
-               return NULL;
-
-       dbus_message_iter_init_append(reply, &array);
-
-       dbus_message_iter_open_container(&array, DBUS_TYPE_ARRAY,
-                               DBUS_TYPE_OBJECT_PATH_AS_STRING, &iter);
-
-       __connman_element_list(CONNMAN_ELEMENT_TYPE_DEVICE, &iter);
-
-       dbus_message_iter_close_container(&array, &iter);
-
-       return reply;
-}
-
 static GDBusMethodTable manager_methods[] = {
-       { "RegisterAgent",   "o", "", register_agent   },
-       { "UnregisterAgent", "o", "", unregister_agent },
-
-       { "ListProfiles", "", "ao", list_profiles },
-
-       { "ListElements", "", "ao", list_elements },
-       { "ListDevices",  "", "ao", list_devices  },
+       { "RegisterAgent",   "o", "",   register_agent   },
+       { "UnregisterAgent", "o", "",   unregister_agent },
+       { "ListProfiles",    "",  "ao", list_profiles    },
+       { "ListElements",    "",  "ao", list_elements    },
        { },
 };
 
@@ -162,8 +135,6 @@ static GDBusSignalTable manager_signals[] = {
        { "ElementAdded",   "o" },
        { "ElementUpdated", "o" },
        { "ElementRemoved", "o" },
-       { "DeviceAdded",    "o" },
-       { "DeviceRemoved",  "o" },
        { },
 };
 
_______________________________________________
Commits mailing list
[email protected]
https://www.moblin.org/mailman/listinfo/commits

Reply via email to