#include <config.h>
#endif
+#include <errno.h>
#include <stdlib.h>
#include <string.h>
return 0;
}
-int __supplicant_connect(struct connman_element *element,
- const unsigned char *ssid, int ssid_len,
- const char *security, const char *passphrase)
+int supplicant_connect(struct connman_network *network)
{
struct supplicant_task *task;
+ const char *security, *passphrase;
+ const void *ssid;
+ unsigned int ssid_len;
+ int index;
+
+ DBG("network %p", network);
+
+ security = connman_network_get_string(network, "WiFi.Security");
+ passphrase = connman_network_get_string(network, "WiFi.Passphrase");
- DBG("element %p", element);
+ ssid = connman_network_get_blob(network, "WiFi.SSID", &ssid_len);
- task = find_task_by_index(element->index);
+ index = connman_network_get_index(network);
+
+ task = find_task_by_index(index);
if (task == NULL)
return -ENODEV;
return 0;
}
-int __supplicant_disconnect(struct connman_element *element)
+int supplicant_disconnect(struct connman_network *network)
{
struct supplicant_task *task;
+ int index;
- DBG("element %p", element);
+ DBG("network %p", network);
- task = find_task_by_index(element->index);
+ index = connman_network_get_index(network);
+
+ task = find_task_by_index(index);
if (task == NULL)
return -ENODEV;
*/
#include <connman/device.h>
-#include <connman/element.h>
+#include <connman/network.h>
struct supplicant_driver {
const char *name;
int supplicant_stop(struct connman_device *device);
int supplicant_scan(struct connman_device *device);
-int __supplicant_connect(struct connman_element *element,
- const unsigned char *ssid, int ssid_len,
- const char *security, const char *passphrase);
-int __supplicant_disconnect(struct connman_element *element);
+int supplicant_connect(struct connman_network *network);
+int supplicant_disconnect(struct connman_network *network);
#include <config.h>
#endif
+#include <errno.h>
+
#include <dbus/dbus.h>
+#include <glib.h>
#define CONNMAN_API_SUBJECT_TO_CHANGE
#include <connman/plugin.h>
DBG("network %p", network);
}
+static int network_connect(struct connman_network *network)
+{
+ DBG("network %p", network);
+
+ return supplicant_connect(network);
+}
+
+static int network_disconnect(struct connman_network *network)
+{
+ DBG("network %p", network);
+
+ //connman_element_unregister_children((struct connman_element *) network);
+
+ return supplicant_disconnect(network);
+}
+
static struct connman_network_driver network_driver = {
.name = "wifi",
.type = CONNMAN_NETWORK_TYPE_WIFI,
.probe = network_probe,
.remove = network_remove,
+ .connect = network_connect,
+ .disconnect = network_disconnect,
};
static int wifi_probe(struct connman_device *device)
DBG("device %p", device);
- connman_element_unregister_children((struct connman_element *) device);
+ //connman_element_unregister_children((struct connman_element *) device);
data->connected = FALSE;