network: Add functionality to connect a hidden network
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Fri, 2 Dec 2011 14:18:35 +0000 (16:18 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Mon, 12 Dec 2011 09:44:40 +0000 (10:44 +0100)
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
src/network.c

index e24019a..b0a8617 100644 (file)
@@ -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,
index 50d1f8b..a2c28ae 100644 (file)
@@ -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