diff mbox series

[BlueZ,v1,1/3] device: Add btd_device_get_icon

Message ID 20240520154703.1219758-1-luiz.dentz@gmail.com
State New
Headers show
Series [BlueZ,v1,1/3] device: Add btd_device_get_icon | expand

Commit Message

Luiz Augusto von Dentz May 20, 2024, 3:47 p.m. UTC
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

This adds btd_device_get_icon which can be used to retriev the icon
string of a device object.
---
 src/device.c | 12 +++++-------
 src/device.h |  1 +
 2 files changed, 6 insertions(+), 7 deletions(-)
diff mbox series

Patch

diff --git a/src/device.c b/src/device.c
index 79d8bb7ebc9b..620bbd55ebad 100644
--- a/src/device.c
+++ b/src/device.c
@@ -1052,16 +1052,14 @@  static gboolean dev_property_get_appearance(const GDBusPropertyTable *property,
 	return TRUE;
 }
 
-static const char *get_icon(const GDBusPropertyTable *property, void *data)
+const char *btd_device_get_icon(struct btd_device *device)
 {
-	struct btd_device *device = data;
 	const char *icon = NULL;
-	uint16_t appearance;
 
 	if (device->class != 0)
 		icon = class_to_icon(device->class);
-	else if (get_appearance(property, data, &appearance))
-		icon = gap_appearance_to_icon(appearance);
+	else if (device->appearance != 0)
+		icon = gap_appearance_to_icon(device->appearance);
 
 	return icon;
 }
@@ -1069,7 +1067,7 @@  static const char *get_icon(const GDBusPropertyTable *property, void *data)
 static gboolean dev_property_exists_icon(
 			const GDBusPropertyTable *property, void *data)
 {
-	return get_icon(property, data) != NULL;
+	return btd_device_get_icon(data) != NULL;
 }
 
 static gboolean dev_property_get_icon(const GDBusPropertyTable *property,
@@ -1077,7 +1075,7 @@  static gboolean dev_property_get_icon(const GDBusPropertyTable *property,
 {
 	const char *icon;
 
-	icon = get_icon(property, data);
+	icon = btd_device_get_icon(data);
 	if (icon == NULL)
 		return FALSE;
 
diff --git a/src/device.h b/src/device.h
index 1a9f7e72a00f..a2b7bb15d200 100644
--- a/src/device.h
+++ b/src/device.h
@@ -41,6 +41,7 @@  uint16_t btd_device_get_vendor(struct btd_device *device);
 uint16_t btd_device_get_vendor_src(struct btd_device *device);
 uint16_t btd_device_get_product(struct btd_device *device);
 uint16_t btd_device_get_version(struct btd_device *device);
+const char *btd_device_get_icon(struct btd_device *device);
 void device_remove_bonding(struct btd_device *device, uint8_t bdaddr_type);
 void device_remove(struct btd_device *device, gboolean remove_stored);
 int device_address_cmp(gconstpointer a, gconstpointer b);