#include <connman/device.h>
#include <connman/log.h>
-#include "inet.h"
#include "supplicant.h"
#define CLEANUP_TIMEOUT 8 /* in seconds */
return supplicant_scan(device);
}
+static int wifi_join(struct connman_device *device,
+ struct connman_network *network)
+{
+ int err;
+
+ DBG("device %p", device);
+
+ err = supplicant_connect(network);
+ if (err < 0)
+ return err;
+
+ connman_network_ref(network);
+
+ connman_device_add_network(device, network);
+
+ connman_network_set_available(network, TRUE);
+
+ return 0;
+}
+
static struct connman_device_driver wifi_driver = {
.name = "wifi",
.type = CONNMAN_DEVICE_TYPE_WIFI,
.enable = wifi_enable,
.disable = wifi_disable,
.scan = wifi_scan,
+ .join = wifi_join,
};
static void wifi_register(void)
}
CONNMAN_PLUGIN_DEFINE(wifi, "WiFi interface plugin", VERSION,
- wifi_init, wifi_exit)
+ CONNMAN_PLUGIN_PRIORITY_DEFAULT, wifi_init, wifi_exit)