From eef3cadcb3bce384b8fb2b0531386c982021dc39 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Tue, 16 Dec 2008 04:50:48 +0100 Subject: [PATCH] Fix Name property of device objects --- doc/device-api.txt | 5 ++++- src/element.c | 31 +++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/doc/device-api.txt b/doc/device-api.txt index 847b6f4..7df3791 100644 --- a/doc/device-api.txt +++ b/doc/device-api.txt @@ -45,7 +45,10 @@ Signals PropertyChanged(string name, variant value) Properties string Name [readonly] - The device name (for example eth0, wlan0 etc.) + The device name (for example "Wireless" etc.) + + This name can be used for directly displaying it in + the application. It has pure informational purpose. string Type [readonly] diff --git a/src/element.c b/src/element.c index 9b91ab0..9a75641 100644 --- a/src/element.c +++ b/src/element.c @@ -145,6 +145,28 @@ static const char *subtype2string(enum connman_element_subtype type) return NULL; } +static const char *subtype2description(enum connman_element_subtype type) +{ + switch (type) { + case CONNMAN_ELEMENT_SUBTYPE_UNKNOWN: + case CONNMAN_ELEMENT_SUBTYPE_FAKE: + case CONNMAN_ELEMENT_SUBTYPE_NETWORK: + return NULL; + case CONNMAN_ELEMENT_SUBTYPE_ETHERNET: + return "Ethernet"; + case CONNMAN_ELEMENT_SUBTYPE_WIFI: + return "Wireless"; + case CONNMAN_ELEMENT_SUBTYPE_WIMAX: + return "WiMAX"; + case CONNMAN_ELEMENT_SUBTYPE_MODEM: + return "Modem"; + case CONNMAN_ELEMENT_SUBTYPE_BLUETOOTH: + return "Bluetooth"; + } + + return NULL; +} + const char *__connman_element_policy2string(enum connman_element_policy policy) { switch (policy) { @@ -465,6 +487,15 @@ static DBusMessage *device_get_properties(DBusConnection *conn, DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); + str = subtype2description(element->subtype); + if (str != NULL && element->devname != NULL) { + char *name = g_strdup_printf("%s (%s)", str, element->devname); + if (name != NULL) + connman_dbus_dict_append_variant(&dict, "Name", + DBUS_TYPE_STRING, &name); + g_free(name); + } + str = subtype2string(element->subtype); if (str != NULL) connman_dbus_dict_append_variant(&dict, "Type", -- 1.7.9.5