Fix Name property of device objects
authorMarcel Holtmann <marcel@holtmann.org>
Tue, 16 Dec 2008 03:50:48 +0000 (04:50 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 16 Dec 2008 03:50:48 +0000 (04:50 +0100)
doc/device-api.txt
src/element.c

index 847b6f4..7df3791 100644 (file)
@@ -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]
 
index 9b91ab0..9a75641 100644 (file)
@@ -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",