diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-03-24 15:13:09 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-03-24 15:13:09 +0100 |
commit | 74fd87ac31a8b3f1f5061463fc3db9203c7e9253 (patch) | |
tree | a7049bccadefb6184094ff9b85ea107172b861f2 /src/element.c | |
parent | 0f844d00ed22e17eb90b4a7994fef8d097d91313 (diff) | |
download | connman-74fd87ac31a8b3f1f5061463fc3db9203c7e9253.tar.gz connman-74fd87ac31a8b3f1f5061463fc3db9203c7e9253.tar.bz2 connman-74fd87ac31a8b3f1f5061463fc3db9203c7e9253.zip |
Add definitions for element states and errors
Diffstat (limited to 'src/element.c')
-rw-r--r-- | src/element.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/element.c b/src/element.c index 73a3c8fe..b68e954e 100644 --- a/src/element.c +++ b/src/element.c @@ -433,6 +433,8 @@ void __connman_element_initialize(struct connman_element *element) element->name = NULL; element->type = CONNMAN_ELEMENT_TYPE_UNKNOWN; + element->state = CONNMAN_ELEMENT_STATE_UNKNOWN; + element->error = CONNMAN_ELEMENT_ERROR_UNKNOWN; element->index = -1; element->enabled = FALSE; @@ -1239,6 +1241,28 @@ int connman_element_set_enabled(struct connman_element *element, return 0; } +/** + * connman_element_set_error: + * @element: element structure + * @error: error identifier + * + * Set error state and specific error identifier + */ +void connman_element_set_error(struct connman_element *element, + enum connman_element_error error) +{ + DBG("element %p error %d", element, error); + + if (element->type == CONNMAN_ELEMENT_TYPE_ROOT) + return; + + element->state = CONNMAN_ELEMENT_STATE_ERROR; + element->error = error; + + if (element->driver && element->driver->change) + element->driver->change(element); +} + int __connman_element_init(DBusConnection *conn, const char *device, const char *nodevice) { |