Add error codes for failing connection attempts
[platform/upstream/connman.git] / src / service.c
index 9935e6d..14f14c5 100644 (file)
@@ -187,10 +187,12 @@ static const char *error2string(enum connman_service_error error)
        switch (error) {
        case CONNMAN_SERVICE_ERROR_UNKNOWN:
                break;
-       case CONNMAN_SERVICE_ERROR_DHCP_FAILED:
-               return "dhcp-failed";
        case CONNMAN_SERVICE_ERROR_PIN_MISSING:
                return "pin-missing";
+       case CONNMAN_SERVICE_ERROR_DHCP_FAILED:
+               return "dhcp-failed";
+       case CONNMAN_SERVICE_ERROR_CONNECT_FAILED:
+               return "connect-failed";
        }
 
        return NULL;
@@ -1333,9 +1335,20 @@ struct connman_service *__connman_service_lookup_from_network(struct connman_net
 
 unsigned int __connman_service_get_order(struct connman_service *service)
 {
+       GSequenceIter *iter;
+
        if (service == NULL)
                return 0;
 
+       if (service->favorite == FALSE)
+               return 0;
+
+       iter = g_hash_table_lookup(service_hash, service->identifier);
+       if (iter != NULL) {
+               if (g_sequence_iter_get_position(iter) == 0)
+                       return 1;
+       }
+
        return service->order;
 }
 
@@ -1565,7 +1578,7 @@ static int service_load(struct connman_service *service)
 
                        hex_ssid = g_key_file_get_string(keyfile,
                                                        service->identifier,
-                                                       "WiFi.SSID", NULL);
+                                                               "SSID", NULL);
 
                        if (hex_ssid != NULL) {
                                gchar *ssid;
@@ -1693,7 +1706,7 @@ update:
                                                        "%02x", ssid[i]);
 
                                g_key_file_set_string(keyfile, identifier,
-                                                       "WiFi.SSID", str->str);
+                                                       "SSID", str->str);
 
                                g_string_free(str, TRUE);
                        }