[PATCH 1/3] device: Add device string to type conversion function

Jussi Laakkonen <[email protected]> Tue, 12 May 2026 18:36:22 +0300
Newsgroups dev.linux.lists.connman
Message-ID <[email protected]>
Convert device type strings to device types.
---
 src/connman.h |  1 +
 src/device.c  | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/src/connman.h b/src/connman.h
index 7ebda7af..e55be0a2 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -605,6 +605,7 @@ void __connman_device_cleanup(void);
 
 void __connman_device_list(DBusMessageIter *iter, void *user_data);
 
+enum connman_device_type __connman_device_string2type(const char *str);
 enum connman_service_type __connman_device_get_service_type(struct connman_device *device);
 struct connman_device *__connman_device_find_device(enum connman_service_type type);
 int __connman_device_request_scan(enum connman_service_type type);
diff --git a/src/device.c b/src/device.c
index 55670099..477970bb 100644
--- a/src/device.c
+++ b/src/device.c
@@ -126,6 +126,24 @@ static const char *type2string(enum connman_device_type type)
 	return NULL;
 }
 
+enum connman_device_type __connman_device_string2type(const char *str)
+{
+	if (!g_strcmp0(str,"ethernet"))
+		return CONNMAN_DEVICE_TYPE_ETHERNET;
+	if (!g_strcmp0(str,"wifi"))
+		return CONNMAN_DEVICE_TYPE_WIFI;
+	if (!g_strcmp0(str,"bluetooth"))
+		return CONNMAN_DEVICE_TYPE_BLUETOOTH;
+	if (!g_strcmp0(str,"gps"))
+		return CONNMAN_DEVICE_TYPE_GPS;
+	if (!g_strcmp0(str,"cellular"))
+		return CONNMAN_DEVICE_TYPE_CELLULAR;
+	if (!g_strcmp0(str,"gadget"))
+		return CONNMAN_DEVICE_TYPE_GADGET;
+
+	return CONNMAN_DEVICE_TYPE_UNKNOWN;
+}
+
 enum connman_service_type __connman_device_get_service_type(
 				struct connman_device *device)
 {
-- 
2.47.3