Remove obsolete file.
[connman] / src / device.c
index 3d15d77..cd9105d 100644 (file)
@@ -1361,6 +1361,7 @@ static void connect_known_network(struct connman_device *device)
        struct connman_network *network = NULL;
        GHashTableIter iter;
        gpointer key, value;
+       const char *name;
        unsigned int count = 0;
 
        DBG("device %p", device);
@@ -1368,9 +1369,7 @@ static void connect_known_network(struct connman_device *device)
        g_hash_table_iter_init(&iter, device->networks);
 
        while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
-               connman_uint8_t old_priority, new_priority;
                connman_uint8_t old_strength, new_strength;
-               const char *name;
 
                count++;
 
@@ -1386,25 +1385,11 @@ static void connect_known_network(struct connman_device *device)
                        }
                }
 
-               if (connman_network_get_remember(value) == FALSE)
-                       continue;
-
                if (network == NULL) {
                        network = value;
                        continue;
                }
 
-               old_priority = connman_network_get_uint8(network,
-                                               CONNMAN_PROPERTY_ID_PRIORITY);
-               new_priority = connman_network_get_uint8(value,
-                                               CONNMAN_PROPERTY_ID_PRIORITY);
-
-               if (new_priority != old_priority) {
-                       if (new_priority > old_priority)
-                               network = value;
-                       continue;
-               }
-
                old_strength = connman_network_get_uint8(network,
                                                CONNMAN_PROPERTY_ID_STRENGTH);
                new_strength = connman_network_get_uint8(value,
@@ -1417,9 +1402,13 @@ static void connect_known_network(struct connman_device *device)
        if (network != NULL) {
                int err;
 
-               err = connman_network_connect(network);
-               if (err == 0 || err == -EINPROGRESS)
-                       return;
+               name = connman_network_get_string(value,
+                                               CONNMAN_PROPERTY_ID_NAME);
+               if (name != NULL) {
+                       err = __connman_network_connect(network);
+                       if (err == 0 || err == -EINPROGRESS)
+                               return;
+               }
        }
 
        if (count > 0)
@@ -1448,9 +1437,6 @@ static gboolean remove_unavailable_network(gpointer key, gpointer value,
        if (connman_network_get_connected(network) == TRUE)
                return FALSE;
 
-       if (connman_network_get_remember(network) == TRUE)
-               return FALSE;
-
        if (connman_network_get_available(network) == TRUE)
                return FALSE;
 
@@ -1728,13 +1714,25 @@ void __connman_device_set_network(struct connman_device *device,
 {
        const char *name;
 
+       if (device->network == network)
+               return;
+
+       if (device->network != NULL)
+               connman_network_unref(device->network);
+
        if (network != NULL) {
                name = connman_network_get_string(network,
                                                CONNMAN_PROPERTY_ID_NAME);
+               g_free(device->last_network);
                device->last_network = g_strdup(name);
-       }
 
-       device->network = network;
+               device->network = connman_network_ref(network);
+       } else {
+               g_free(device->last_network);
+               device->last_network = NULL;
+
+               device->network = NULL;
+       }
 }
 
 /**