Add support for DHCP errors from services
authorMarcel Holtmann <marcel@holtmann.org>
Tue, 30 Jun 2009 20:20:10 +0000 (13:20 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 30 Jun 2009 20:20:10 +0000 (13:20 -0700)
include/service.h
src/element.c
src/service.c

index c173a91..781ee0c 100644 (file)
@@ -67,7 +67,8 @@ enum connman_service_state {
 };
 
 enum connman_service_error {
-       CONNMAN_SERVICE_ERROR_UNKNOWN = 0,
+       CONNMAN_SERVICE_ERROR_UNKNOWN     = 0,
+       CONNMAN_SERVICE_ERROR_DHCP_FAILED = 1,
 };
 
 struct connman_service;
index 6e44ec4..81f5eaf 100644 (file)
@@ -1334,7 +1334,7 @@ static enum connman_service_error convert_error(enum connman_element_error error
        case CONNMAN_ELEMENT_ERROR_FAILED:
                break;
        case CONNMAN_ELEMENT_ERROR_DHCP_FAILED:
-               return CONNMAN_SERVICE_ERROR_UNKNOWN;
+               return CONNMAN_SERVICE_ERROR_DHCP_FAILED;
        }
 
        return CONNMAN_SERVICE_ERROR_UNKNOWN;
index 8b6a2c3..94ef22d 100644 (file)
@@ -1278,6 +1278,8 @@ 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";
        }
 
        return NULL;
@@ -1285,6 +1287,9 @@ static const char *error2string(enum connman_service_error error)
 
 static enum connman_service_error string2error(const char *error)
 {
+       if (g_strcmp0(error, "dhcp-failed") == 0)
+               return CONNMAN_SERVICE_ERROR_DHCP_FAILED;
+
        return CONNMAN_SERVICE_ERROR_UNKNOWN;
 }