summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2011-12-02 16:18:35 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2011-12-12 10:44:40 +0100
commitc0f9b9846dfba12f6475018cef983bef32a7a646 (patch)
tree12568eec748bb773b4414c413344d26c098d3c1e
parentf8b5879fec7b3035313459cd2b02928afaa36dc8 (diff)
downloadconnman-c0f9b9846dfba12f6475018cef983bef32a7a646.tar.gz
connman-c0f9b9846dfba12f6475018cef983bef32a7a646.tar.bz2
connman-c0f9b9846dfba12f6475018cef983bef32a7a646.zip
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.
-rw-r--r--include/network.h3
-rw-r--r--src/network.c20
2 files changed, 23 insertions, 0 deletions
diff --git a/include/network.h b/include/network.h
index e24019a2..b0a86173 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 50d1f8b7..a2c28ae5 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