Project description
[connman] / plugins / wifi.c
index 7c30f07..08b3d48 100644 (file)
@@ -33,7 +33,6 @@
 #include <connman/device.h>
 #include <connman/log.h>
 
-#include "inet.h"
 #include "supplicant.h"
 
 #define CLEANUP_TIMEOUT   8    /* in seconds */
@@ -136,15 +135,21 @@ static int wifi_scan(struct connman_device *device)
 static int wifi_join(struct connman_device *device,
                                        struct connman_network *network)
 {
-       const char *ssid;
+       int err;
 
        DBG("device %p", device);
 
-       ssid = connman_network_get_string(network, "WiFi.SSID");
+       err = supplicant_connect(network);
+       if (err < 0)
+               return err;
+
+       connman_network_ref(network);
+
+       connman_device_add_network(device, network);
 
-       DBG("SSID %s", ssid);
+       connman_network_set_available(network, TRUE);
 
-       return -EIO;
+       return 0;
 }
 
 static struct connman_device_driver wifi_driver = {