values are "online" if at least one connection exists
and "offline" if no device is connected.
+ In certain situations the state might change to
+ the value "connected". This can only be seen if
+ previously no connection was present.
+
string Policy [readwrite]
The global connection policy of a system. This
element->index = -1;
element->enabled = FALSE;
+ element->configuring = FALSE;
+
element->properties = g_hash_table_new_full(g_str_hash, g_str_equal,
g_free, unregister_property);
}
g_node_append_data(node, element);
+ if (element->type == CONNMAN_ELEMENT_TYPE_DHCP) {
+ element->parent->configuring = TRUE;
+
+ if (__connman_element_count(NULL,
+ CONNMAN_ELEMENT_TYPE_CONNECTION) == 0)
+ emit_state_change(connection, "connecting");
+ }
+
if (element->type == CONNMAN_ELEMENT_TYPE_CONNECTION) {
+ struct connman_element *parent = element->parent;
+
+ while (parent) {
+ parent->configuring = FALSE;
+ parent = parent->parent;
+ }
+
emit_connections_signal(connection);
- emit_state_change(connection, "online");
+
+ if (__connman_element_count(NULL,
+ CONNMAN_ELEMENT_TYPE_CONNECTION) == 1)
+ emit_state_change(connection, "online");
}
emit_element_signal(connection, "ElementAdded", element);
if (__connman_element_count(NULL,
CONNMAN_ELEMENT_TYPE_CONNECTION) == 0)
emit_state_change(connection, "offline");
+
emit_connections_signal(connection);
}