element: Remove IPv6
[framework/connectivity/connman.git] / src / network.c
index cea158c..f8347f0 100644 (file)
@@ -545,14 +545,22 @@ static void set_invalid_key_error(struct connman_network *network)
                                        CONNMAN_SERVICE_ERROR_INVALID_KEY);
 }
 
+static void set_connect_error(struct connman_network *network)
+{
+       struct connman_service *service;
+
+       service = __connman_service_lookup_from_network(network);
+
+       __connman_service_indicate_error(service,
+                                       CONNMAN_SERVICE_ERROR_CONNECT_FAILED);
+}
+
 void connman_network_set_ipv4_method(struct connman_network *network,
                                        enum connman_ipconfig_method method)
 {
        struct connman_service *service;
        struct connman_ipconfig *ipconfig;
 
-       network->element.ipv4.method = method;
-
        service = __connman_service_lookup_from_network(network);
        if (service == NULL)
                return;
@@ -570,8 +578,6 @@ void connman_network_set_ipv6_method(struct connman_network *network,
        struct connman_service *service;
        struct connman_ipconfig *ipconfig;
 
-       network->element.ipv6.method = method;
-
        service = __connman_service_lookup_from_network(network);
        if (service == NULL)
                return;
@@ -602,6 +608,9 @@ void connman_network_set_error(struct connman_network *network,
        case CONNMAN_NETWORK_ERROR_INVALID_KEY:
                set_invalid_key_error(network);
                break;
+       case CONNMAN_NETWORK_ERROR_CONNECT_FAIL:
+               set_connect_error(network);
+               break;
        }
 }
 
@@ -960,8 +969,8 @@ int connman_network_set_connected(struct connman_network *network,
 
        if ((network->connecting == TRUE || network->associating == TRUE) &&
                                                        connected == FALSE) {
-               connman_element_set_error(&network->element,
-                                       CONNMAN_ELEMENT_ERROR_CONNECT_FAILED);
+               connman_network_set_error(network,
+                                       CONNMAN_NETWORK_ERROR_CONNECT_FAIL);
                __connman_network_disconnect(network);
        }
 
@@ -1779,9 +1788,6 @@ static void network_change(struct connman_element *element)
        if (element->state != CONNMAN_ELEMENT_STATE_ERROR)
                return;
 
-       if (element->error != CONNMAN_ELEMENT_ERROR_DHCP_FAILED)
-               return;
-
        if (network->connected == FALSE)
                return;