diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2022-02-10 11:55:31 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2022-02-10 13:48:47 +1000 |
commit | f28c881a8a752d7c75164f53ba8c471df5cd08a3 (patch) | |
tree | 6569681242817956ca3bee3e016d7d2a63515a75 | |
parent | d70066a5eb4ed43984b19b3644dd16fbfe01b8a2 (diff) | |
download | xf86-input-wacom-f28c881a8a752d7c75164f53ba8c471df5cd08a3.tar.gz |
gwacom: allow for listing of WacomOptions keys
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | src/gwacom/wacom-device.c | 21 | ||||
-rw-r--r-- | src/gwacom/wacom-device.h | 8 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/gwacom/wacom-device.c b/src/gwacom/wacom-device.c index 2f149fb..78be3fa 100644 --- a/src/gwacom/wacom-device.c +++ b/src/gwacom/wacom-device.c @@ -118,6 +118,27 @@ void wacom_options_set(WacomOptions *opts, const char *key, const char *value) g_hash_table_replace(opts->ht, g_ascii_strdown(key, -1), g_strdup(value)); } + +static void append_slist(gpointer key, gpointer value, gpointer user_data) +{ + GSList **list = user_data; + *list = g_slist_append(*list, g_strdup(key)); +} + +/** + * wacom_options_list_keys: + * + * Returns: (element-type utf8) (transfer full): + */ +GSList *wacom_options_list_keys(WacomOptions *opts) +{ + GSList *list = NULL; + + g_hash_table_foreach(opts->ht, append_slist, &list); + + return list; +} + static void wacom_options_finalize(GObject *gobject) { diff --git a/src/gwacom/wacom-device.h b/src/gwacom/wacom-device.h index 532b425..a40b263 100644 --- a/src/gwacom/wacom-device.h +++ b/src/gwacom/wacom-device.h @@ -68,6 +68,14 @@ const char *wacom_options_get(WacomOptions *opts, const char *key); */ void wacom_options_set(WacomOptions *opts, const char *key, const char *value); +/*** + * wacom_options_list_keys: + * + * Returns: (element-type utf8) (transfer full): The List of keys in these + * options + */ +GSList *wacom_options_list_keys(WacomOptions *opts); + #define WACOM_TYPE_DEVICE (wacom_device_get_type()) G_DECLARE_FINAL_TYPE (WacomDevice, wacom_device, WACOM, DEVICE, GObject) |