summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-06-30 13:20:10 -0700
committerMarcel Holtmann <marcel@holtmann.org>2009-06-30 13:20:10 -0700
commit5fa9b733b022f0b80e4e4dbab0803b7ec7f3ef4b (patch)
tree560079baeb5254ea8cde482fb10f5a9a8907244d
parent8f004d3a17e7e4061a6f1edbd1556461988a964d (diff)
downloadconnman-5fa9b733b022f0b80e4e4dbab0803b7ec7f3ef4b.tar.gz
connman-5fa9b733b022f0b80e4e4dbab0803b7ec7f3ef4b.tar.bz2
connman-5fa9b733b022f0b80e4e4dbab0803b7ec7f3ef4b.zip
Add support for DHCP errors from services
-rw-r--r--include/service.h3
-rw-r--r--src/element.c2
-rw-r--r--src/service.c5
3 files changed, 8 insertions, 2 deletions
diff --git a/include/service.h b/include/service.h
index c173a91b..781ee0c1 100644
--- a/include/service.h
+++ b/include/service.h
@@ -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;
diff --git a/src/element.c b/src/element.c
index 6e44ec4c..81f5eafa 100644
--- a/src/element.c
+++ b/src/element.c
@@ -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;
diff --git a/src/service.c b/src/service.c
index 8b6a2c3e..94ef22dd 100644
--- a/src/service.c
+++ b/src/service.c
@@ -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;
}