aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-01-21 17:53:39 +0100
committerMarcel Holtmann <marcel@holtmann.org>2009-01-21 17:53:39 +0100
commitae214504684e08baf1631c1106cd5e5ea33219e7 (patch)
tree95d48be53f8a471ba749d23a2d07dd8e6b719bac
parent62b22a066221264acf0c2945bbbb15307a41431f (diff)
downloadconnman-gnome-ae214504684e08baf1631c1106cd5e5ea33219e7.tar.gz
Add support for disconnecting all networks
-rw-r--r--common/connman-client.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/common/connman-client.c b/common/connman-client.c
index ad824e6..766de8d 100644
--- a/common/connman-client.c
+++ b/common/connman-client.c
@@ -436,6 +436,14 @@ void connman_client_connect(ConnmanClient *client, const gchar *network)
g_object_unref(proxy);
}
+static void connman_client_disconnect_all(ConnmanClient *client)
+{
+ ConnmanClientPrivate *priv = CONNMAN_CLIENT_GET_PRIVATE(client);
+
+ gtk_tree_model_foreach(GTK_TREE_MODEL(priv->store),
+ network_disconnect, NULL);
+}
+
void connman_client_disconnect(ConnmanClient *client, const gchar *network)
{
ConnmanClientPrivate *priv = CONNMAN_CLIENT_GET_PRIVATE(client);
@@ -443,8 +451,10 @@ void connman_client_disconnect(ConnmanClient *client, const gchar *network)
DBG("client %p", client);
- if (network == NULL)
+ if (network == NULL) {
+ connman_client_disconnect_all(client);
return;
+ }
proxy = connman_dbus_get_proxy(priv->store, network);
if (proxy == NULL)