Add skeleton for core connection driver
[connman] / src / element.c
index 95157dc..873a5f5 100644 (file)
@@ -580,6 +580,10 @@ static gboolean append_path(GNode *node, gpointer user_data)
                        __connman_device_has_driver(element->device) == FALSE)
                return FALSE;
 
+       if (filter->type == CONNMAN_ELEMENT_TYPE_NETWORK &&
+                       __connman_network_has_driver(element->network) == FALSE)
+               return FALSE;
+
        dbus_message_iter_append_basic(filter->iter,
                                DBUS_TYPE_OBJECT_PATH, &element->path);
 
@@ -1582,8 +1586,6 @@ static void register_element(gpointer data, gpointer user_data)
 
        DBG("element %p path %s", element, element->path);
 
-       __connman_element_load(element);
-
        g_node_append_data(node, element);
 
        if (element->type == CONNMAN_ELEMENT_TYPE_CONNECTION) {
@@ -1602,8 +1604,6 @@ static void register_element(gpointer data, gpointer user_data)
 
        emit_element_signal(connection, "ElementAdded", element);
 
-       __connman_element_store(element);
-
        if (started == FALSE)
                return;
 
@@ -1802,6 +1802,7 @@ int __connman_element_init(DBusConnection *conn, const char *device)
 
        __connman_device_init();
        __connman_network_init();
+       __connman_connection_init();
 
        return 0;
 }
@@ -1878,6 +1879,7 @@ void __connman_element_cleanup(void)
 {
        DBG("");
 
+       __connman_connection_cleanup();
        __connman_network_cleanup();
        __connman_device_cleanup();