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);
*((char **) value) = property->value;
found = TRUE;
break;
+ case DBUS_TYPE_BYTE:
+ memcpy(value, property->value, 1);
+ found = TRUE;
+ break;
}
break;
}
__connman_element_unlock(element);
+ if (found == FALSE && element->parent != NULL)
+ return connman_element_get_static_property(element->parent,
+ name, value);
+
return found;
}
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;
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");
}
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;
started = TRUE;
+ __connman_storage_init_device();
+
__connman_connection_init();
__connman_ipv4_init();
__connman_detect_init();