diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/glib-helper.c | 18 | ||||
-rw-r--r-- | common/glib-helper.h | 3 |
2 files changed, 18 insertions, 3 deletions
diff --git a/common/glib-helper.c b/common/glib-helper.c index 1812cc6d..17a8cb45 100644 --- a/common/glib-helper.c +++ b/common/glib-helper.c @@ -486,7 +486,7 @@ static struct { { } }; -uint16_t bt_string2class(const char *pattern) +uint16_t bt_name2class(const char *pattern) { int i; @@ -498,6 +498,20 @@ uint16_t bt_string2class(const char *pattern) return 0; } +char *bt_name2string(const char *pattern) +{ + uuid_t uuid; + uint16_t uuid16; + + uuid16 = bt_name2class(pattern); + if (!uuid16) + return NULL; + + sdp_uuid16_create(&uuid, uuid16); + + return bt_uuid2string(&uuid); +} + int bt_string2uuid(uuid_t *uuid, const char *string) { uint32_t data0, data4; @@ -530,7 +544,7 @@ int bt_string2uuid(uuid_t *uuid, const char *string) return 0; } else { - uint16_t class = bt_string2class(string); + uint16_t class = bt_name2class(string); if (class) { sdp_uuid16_create(uuid, class); return 0; diff --git a/common/glib-helper.h b/common/glib-helper.h index ee63b2d7..794d296c 100644 --- a/common/glib-helper.h +++ b/common/glib-helper.h @@ -38,7 +38,8 @@ int bt_search_service(const bdaddr_t *src, const bdaddr_t *dst, int bt_cancel_discovery(const bdaddr_t *src, const bdaddr_t *dst); gchar *bt_uuid2string(uuid_t *uuid); -uint16_t bt_string2class(const char *string); +uint16_t bt_name2class(const char *string); +char *bt_name2string(const char *string); int bt_string2uuid(uuid_t *uuid, const char *string); gchar *bt_list2string(GSList *list); GSList *bt_string2list(const gchar *str); |