Add support for reading config directory from dbus-1.pc
[connman] / src / element.c
index 9dbcd68..fb11f79 100644 (file)
@@ -58,12 +58,6 @@ static struct {
                DBUS_TYPE_STRING, "IPv4.Broadcast" },
        { CONNMAN_PROPERTY_ID_IPV4_NAMESERVER,
                DBUS_TYPE_STRING, "IPv4.Nameserver" },
-
-       { CONNMAN_PROPERTY_ID_WIFI_SECURITY,
-               DBUS_TYPE_STRING, "WiFi.Security" },
-       { CONNMAN_PROPERTY_ID_WIFI_PASSPHRASE,
-               DBUS_TYPE_STRING, "WiFi.Passphrase" },
-
        { }
 };
 
@@ -632,7 +626,6 @@ void connman_element_unref(struct connman_element *element)
                g_free(element->ipv4.broadcast);
                g_free(element->ipv4.nameserver);
                g_free(element->devname);
-               g_free(element->devpath);
                g_free(element->path);
                g_free(element->name);
                g_free(element);
@@ -949,18 +942,6 @@ int connman_element_set_property(struct connman_element *element,
                element->ipv4.nameserver = g_strdup(*((const char **) value));
                __connman_element_unlock(element);
                break;
-       case CONNMAN_PROPERTY_ID_WIFI_SECURITY:
-               __connman_element_lock(element);
-               g_free(element->wifi.security);
-               element->wifi.security = g_strdup(*((const char **) value));
-               __connman_element_unlock(element);
-               break;
-       case CONNMAN_PROPERTY_ID_WIFI_PASSPHRASE:
-               __connman_element_lock(element);
-               g_free(element->wifi.passphrase);
-               element->wifi.passphrase = g_strdup(*((const char **) value));
-               __connman_element_unlock(element);
-               break;
        default:
                return -EINVAL;
        }
@@ -1023,22 +1004,6 @@ int connman_element_get_value(struct connman_element *element,
                *((char **) value) = element->ipv4.nameserver;
                __connman_element_unlock(element);
                break;
-       case CONNMAN_PROPERTY_ID_WIFI_SECURITY:
-               if (element->wifi.security == NULL)
-                       return connman_element_get_value(element->parent,
-                                                               id, value);
-               __connman_element_lock(element);
-               *((char **) value) = element->wifi.security;
-               __connman_element_unlock(element);
-               break;
-       case CONNMAN_PROPERTY_ID_WIFI_PASSPHRASE:
-               if (element->wifi.passphrase == NULL)
-                       return connman_element_get_value(element->parent,
-                                                               id, value);
-               __connman_element_lock(element);
-               *((char **) value) = element->wifi.passphrase;
-               __connman_element_unlock(element);
-               break;
        default:
                return -EINVAL;
        }
@@ -1068,6 +1033,10 @@ gboolean connman_element_get_static_property(struct connman_element *element,
                                *((char **) value) = property->value;
                                found = TRUE;
                                break;
+                       case DBUS_TYPE_BYTE:
+                               memcpy(value, property->value, 1);
+                               found = TRUE;
+                               break;
                        }
                        break;
                }
@@ -1075,6 +1044,10 @@ gboolean connman_element_get_static_property(struct connman_element *element,
 
        __connman_element_unlock(element);
 
+       if (found == FALSE && element->parent != NULL)
+               return connman_element_get_static_property(element->parent,
+                                                               name, value);
+
        return found;
 }
 
@@ -1209,20 +1182,6 @@ static void emit_state_change(DBusConnection *conn, const char *state)
        g_dbus_send_message(conn, signal);
 }
 
-static void set_signal_strength(struct connman_element *connection)
-{
-       struct connman_element *element = connection;
-
-       while (element != NULL) {
-               if (element->type == CONNMAN_ELEMENT_TYPE_NETWORK) {
-                       connection->strength = element->strength;
-                       break;
-               }
-
-               element = element->parent;
-       }
-}
-
 static void probe_element(struct connman_element *element)
 {
        GSList *list;
@@ -1276,7 +1235,6 @@ static void register_element(gpointer data, gpointer user_data)
        g_node_append_data(node, element);
 
        if (element->type == CONNMAN_ELEMENT_TYPE_CONNECTION) {
-               set_signal_strength(element);
                emit_connections_signal(connection);
                emit_state_change(connection, "online");
        }
@@ -1409,19 +1367,12 @@ void connman_element_unregister_children(struct connman_element *element)
 static gboolean update_element(GNode *node, gpointer user_data)
 {
        struct connman_element *element = node->data;
-       struct connman_element *root = user_data;
 
        DBG("element %p name %s", element, element->name);
 
        if (element->driver && element->driver->update)
                element->driver->update(element);
 
-       if (element->type == CONNMAN_ELEMENT_TYPE_CONNECTION &&
-                               root->type == CONNMAN_ELEMENT_TYPE_NETWORK) {
-               if (element->strength != root->strength)
-                       element->strength = root->strength;
-       }
-
        emit_element_signal(connection, "ElementUpdated", element);
 
        return FALSE;
@@ -1504,6 +1455,8 @@ void __connman_element_start(void)
 
        started = TRUE;
 
+       __connman_storage_init_device();
+
        __connman_connection_init();
        __connman_ipv4_init();
        __connman_detect_init();