Add function to retrieve device from an element
authorMarcel Holtmann <marcel@holtmann.org>
Tue, 21 Apr 2009 05:01:12 +0000 (06:01 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 21 Apr 2009 05:01:12 +0000 (06:01 +0100)
src/connman.h
src/element.c

index 4ac49a7..b7be4e8 100644 (file)
@@ -127,6 +127,7 @@ void __connman_element_list(struct connman_element *element,
 int __connman_element_count(struct connman_element *element,
                                        enum connman_element_type type);
 
+struct connman_device *__connman_element_get_device(struct connman_element *element);
 const char *__connman_element_get_device_path(struct connman_element *element);
 const char *__connman_element_get_network_path(struct connman_element *element);
 
index 3b021da..30e6963 100644 (file)
@@ -272,16 +272,27 @@ int __connman_element_count(struct connman_element *element,
        return data.count;
 }
 
-const char *__connman_element_get_device_path(struct connman_element *element)
+struct connman_device *__connman_element_get_device(struct connman_element *element)
 {
        if (element->type == CONNMAN_ELEMENT_TYPE_DEVICE &&
                                                element->device != NULL)
-               return element->path;
+               return element->device;
 
        if (element->parent == NULL)
                return NULL;
 
-       return __connman_element_get_device_path(element->parent);
+       return __connman_element_get_device(element->parent);
+}
+
+const char *__connman_element_get_device_path(struct connman_element *element)
+{
+       struct connman_device *device;
+
+       device = __connman_element_get_device(element);
+       if (device == NULL)
+               return NULL;
+
+       return element->path;
 }
 
 const char *__connman_element_get_network_path(struct connman_element *element)