summaryrefslogtreecommitdiff
path: root/src/element.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-03-24 15:13:09 +0100
committerMarcel Holtmann <marcel@holtmann.org>2009-03-24 15:13:09 +0100
commit74fd87ac31a8b3f1f5061463fc3db9203c7e9253 (patch)
treea7049bccadefb6184094ff9b85ea107172b861f2 /src/element.c
parent0f844d00ed22e17eb90b4a7994fef8d097d91313 (diff)
downloadconnman-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.c24
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)
{