void __connman_device_increase_connections(struct connman_device *device);
void __connman_device_decrease_connections(struct connman_device *device);
+void __connman_device_set_network(struct connman_device *device,
+ struct connman_network *network);
+
void __connman_device_disconnect(struct connman_device *device);
connman_bool_t __connman_device_has_driver(struct connman_device *device);
connman_bool_t registered;
+ struct connman_network *network;
GHashTable *networks;
};
while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
struct connman_network *network = value;
- if (connman_network_get_connected(network) == FALSE)
- continue;
-
- __connman_network_disconnect(network);
+ if (connman_network_get_connected(network) == TRUE)
+ __connman_network_disconnect(network);
}
}
return 0;
}
+void __connman_device_set_network(struct connman_device *device,
+ struct connman_network *network)
+{
+ device->network = network;
+}
+
/**
* connman_device_register:
* @device: device structure
__connman_device_increase_connections(network->device);
+ __connman_device_set_network(network->device, network);
+
element = connman_element_create(NULL);
if (element != NULL) {
element->type = type;
} else {
connman_element_unregister_children(&network->element);
+ __connman_device_set_network(network->device, NULL);
+
__connman_device_decrease_connections(network->device);
}