From 646842098c724796c7ee454706547b153d0f7198 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 14 Apr 2021 18:16:06 +0200 Subject: [PATCH] pipewire: add functions to get and set textdomain --- src/pipewire/pipewire.c | 20 +++++++++++++++++++- src/pipewire/pipewire.h | 3 +++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/pipewire/pipewire.c b/src/pipewire/pipewire.c index a2441dd3b..4c4487e13 100644 --- a/src/pipewire/pipewire.c +++ b/src/pipewire/pipewire.c @@ -75,7 +75,7 @@ struct support { const char *plugin_dir; const char *support_lib; struct registry *registry; - const char *i18n_domain; + char *i18n_domain; struct spa_interface i18n_iface; struct spa_support support[MAX_SUPPORT]; uint32_t n_support; @@ -345,6 +345,24 @@ static void *add_interface(struct support *support, return iface; } +SPA_EXPORT +int pw_set_domain(const char *domain) +{ + struct support *support = &global_support; + free(support->i18n_domain); + if (domain == NULL) + support->i18n_domain = NULL; + else if ((support->i18n_domain = strdup(domain)) == NULL) + return -errno; + return 0; +} +SPA_EXPORT +const char *pw_get_domain(void) +{ + struct support *support = &global_support; + return support->i18n_domain; +} + static const char *i18n_text(void *object, const char *msgid) { struct support *support = object; diff --git a/src/pipewire/pipewire.h b/src/pipewire/pipewire.h index 69c523bd6..1e9271eab 100644 --- a/src/pipewire/pipewire.h +++ b/src/pipewire/pipewire.h @@ -141,6 +141,9 @@ bool pw_in_valgrind(void); enum pw_direction pw_direction_reverse(enum pw_direction direction); +int pw_set_domain(const char *domain); +const char *pw_get_domain(void); + uint32_t pw_get_support(struct spa_support *support, uint32_t max_support); struct spa_handle *pw_load_spa_handle(const char *lib,