[RFC 1/2] Add Type property to Device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



---
 doc/device-api.txt |    4 ++++
 src/device.c       |   18 ++++++++++++++++++
 src/device.h       |    2 ++
 3 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/doc/device-api.txt b/doc/device-api.txt
index d1feb18..a667296 100644
--- a/doc/device-api.txt
+++ b/doc/device-api.txt
@@ -130,6 +130,10 @@ Properties	string Address [readonly]
 			Proposed icon name according to the freedesktop.org
 			icon naming specification.
 
+		string Type [readonly]
+
+			Device type (BR/EDR, LE, BR/EDR/LE).
+
 		uint32 Class [readonly]
 
 			The Bluetooth class of device of the remote device.
diff --git a/src/device.c b/src/device.c
index d567952..96683de 100644
--- a/src/device.c
+++ b/src/device.c
@@ -228,6 +228,20 @@ static void device_free(gpointer user_data)
 	g_free(device);
 }
 
+const char *devtype2str(device_type_t type)
+{
+	switch (type) {
+	case DEVICE_TYPE_BREDR:
+		return "BR/EDR";
+	case DEVICE_TYPE_LE:
+		return "LE";
+	case DEVICE_TYPE_DUALMODE:
+		return "BR/EDR/LE";
+	default:
+		return "Unknown";
+	}
+}
+
 gboolean device_is_paired(struct btd_device *device)
 {
 	return device->paired;
@@ -302,6 +316,10 @@ static DBusMessage *get_properties(DBusConnection *conn,
 						DBUS_TYPE_STRING, &icon);
 	}
 
+	/* Type */
+	ptr = devtype2str(device->type);
+	dict_append_entry(&dict, "Type", DBUS_TYPE_STRING, &ptr);
+
 	/* Paired */
 	boolean = device_is_paired(device);
 	dict_append_entry(&dict, "Paired", DBUS_TYPE_BOOLEAN, &boolean);
diff --git a/src/device.h b/src/device.h
index 3ce212b..b385070 100644
--- a/src/device.h
+++ b/src/device.h
@@ -41,6 +41,8 @@ typedef enum {
 	DEVICE_TYPE_DUALMODE
 } device_type_t;
 
+const char *devtype2str(device_type_t type);
+
 struct btd_device *device_create(DBusConnection *conn,
 				struct btd_adapter *adapter,
 				const gchar *address, device_type_t type);
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux