Implement WiFi network driver remove hook
authorSamuel Ortiz <sameo@linux.intel.com>
Thu, 30 Sep 2010 14:18:56 +0000 (16:18 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 30 Sep 2010 14:18:56 +0000 (16:18 +0200)
plugins/supplicant.c
plugins/supplicant.h
plugins/wifi-legacy.c

index 867a928..defe5f1 100644 (file)
@@ -2564,6 +2564,25 @@ int supplicant_disconnect(struct connman_network *network)
        return 0;
 }
 
+void supplicant_remove_network(struct connman_network *network)
+{
+       struct supplicant_task *task;
+       int index;
+
+       DBG("network %p", network);
+
+       index = connman_network_get_index(network);
+
+       task = find_task_by_index(index);
+       if (task == NULL)
+               return;
+
+       if (task->network != network)
+               return;
+
+       remove_network(task);
+}
+
 static void supplicant_activate(DBusConnection *conn)
 {
        DBusMessage *message;
index 6745aac..7eb8880 100644 (file)
@@ -37,3 +37,5 @@ int supplicant_scan(struct connman_device *device);
 
 int supplicant_connect(struct connman_network *network);
 int supplicant_disconnect(struct connman_network *network);
+
+void supplicant_remove_network(struct connman_network *network);
index 62938cc..cfbd80b 100644 (file)
@@ -62,6 +62,8 @@ static int network_probe(struct connman_network *network)
 static void network_remove(struct connman_network *network)
 {
        DBG("network %p", network);
+
+       supplicant_remove_network(network);
 }
 
 static int network_connect(struct connman_network *network)