From 2fe80a8f860c4bbaa877d809538fe86a9fc0b4c9 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Mon, 16 May 2016 12:04:45 -0500 Subject: [PATCH] device: Add device_connect_network --- src/device.h | 4 ++++ src/wiphy.c | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/device.h b/src/device.h index f5a7ee45..d3e42c67 100644 --- a/src/device.h +++ b/src/device.h @@ -23,6 +23,7 @@ #include struct netdev; +struct scan_bss; typedef void (*device_watch_func_t)(struct netdev *device, void *userdata); typedef void (*device_destroy_func_t)(void *userdata); @@ -38,5 +39,8 @@ void __device_watch_call_removed(struct netdev *device); struct network *device_get_connected_network(struct netdev *device); const char *device_get_path(struct netdev *device); +void device_connect_network(struct netdev *device, struct network *network, + struct scan_bss *bss, + struct l_dbus_message *message); bool device_init(void); bool device_exit(void); diff --git a/src/wiphy.c b/src/wiphy.c index 9e1d3d23..302205af 100644 --- a/src/wiphy.c +++ b/src/wiphy.c @@ -318,6 +318,20 @@ static int mlme_authenticate_cmd(struct network *network, struct scan_bss *bss) return 0; } +void device_connect_network(struct netdev *device, struct network *network, + struct scan_bss *bss, + struct l_dbus_message *message) +{ + device->connect_pending = l_dbus_message_ref(message); + + device->connected_bss = bss; + device->connected_network = network; + + netdev_enter_state(device, DEVICE_STATE_CONNECTING); + + mlme_authenticate_cmd(network, bss); +} + static void passphrase_callback(enum agent_result result, const char *passphrase, void *user_data) {