From c0f9b9846dfba12f6475018cef983bef32a7a646 Mon Sep 17 00:00:00 2001 From: Patrik Flykt Date: Fri, 2 Dec 2011 16:18:35 +0200 Subject: [PATCH] network: Add functionality to connect a hidden network When given a struct connman_network, look up a corresponding service. Set the earlier supplied identity and passphrase for this service and try to connect it. --- include/network.h | 3 +++ src/network.c | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/include/network.h b/include/network.h index e24019a..b0a8617 100644 --- a/include/network.h +++ b/include/network.h @@ -92,6 +92,9 @@ connman_bool_t connman_network_get_connected(struct connman_network *network); connman_bool_t connman_network_get_associating(struct connman_network *network); +int connman_network_connect_hidden(struct connman_network *network, + char *identity, char* passphrase); + void connman_network_set_ipv4_method(struct connman_network *network, enum connman_ipconfig_method method); void connman_network_set_ipv6_method(struct connman_network *network, diff --git a/src/network.c b/src/network.c index 50d1f8b..a2c28ae 100644 --- a/src/network.c +++ b/src/network.c @@ -1169,6 +1169,26 @@ connman_bool_t connman_network_get_associating(struct connman_network *network) return network->associating; } +int connman_network_connect_hidden(struct connman_network *network, + char *identity, char* passphrase) +{ + struct connman_service *service; + + DBG(""); + + service = __connman_service_lookup_from_network(network); + if (service == NULL) + return -EINVAL; + + if (identity != NULL) + __connman_service_set_agent_identity(service, identity); + + if (passphrase != NULL) + __connman_service_add_passphrase(service, passphrase); + + return __connman_service_connect(service); +} + /** * __connman_network_connect: * @network: network structure -- 2.7.4