gsettings: rename "module" to "module-group"

It is confusing if there's a thing named "module" which defines up to 10
modules to load. Calling the thing a "module group" instead should make
it easier to understand.
This commit is contained in:
Tanu Kaskinen 2018-04-17 09:07:36 +03:00
parent 0623b3c91e
commit 890bc108d6
2 changed files with 34 additions and 29 deletions

View file

@ -28,21 +28,19 @@
#include <pulsecore/core-util.h> #include <pulsecore/core-util.h>
#define PA_GSETTINGS_MODULE_SCHEMA "org.freedesktop.pulseaudio.module" #define PA_GSETTINGS_MODULE_GROUP_SCHEMA "org.freedesktop.pulseaudio.module-group"
#define PA_GSETTINGS_MODULES_SCHEMA "org.freedesktop.pulseaudio.modules" #define PA_GSETTINGS_MODULE_GROUPS_SCHEMA "org.freedesktop.pulseaudio.module-groups"
#define PA_GSETTINGS_MODULES_PATH "/org/freedesktop/pulseaudio/modules/" #define PA_GSETTINGS_MODULE_GROUPS_PATH "/org/freedesktop/pulseaudio/module-groups/"
static void modules_callback(GSettings *settings, gchar *key, gpointer user_data); static void handle_module_group(gchar *name) {
static void handle_module(gchar *name) {
GSettings *settings; GSettings *settings;
gchar p[1024]; gchar p[1024];
gboolean enabled; gboolean enabled;
int i; int i;
pa_snprintf(p, sizeof(p), PA_GSETTINGS_MODULES_PATH"%s/", name); pa_snprintf(p, sizeof(p), PA_GSETTINGS_MODULE_GROUPS_PATH"%s/", name);
if (!(settings = g_settings_new_with_path(PA_GSETTINGS_MODULE_SCHEMA, if (!(settings = g_settings_new_with_path(PA_GSETTINGS_MODULE_GROUP_SCHEMA,
p))) p)))
return; return;
@ -74,30 +72,30 @@ static void handle_module(gchar *name) {
g_object_unref(G_OBJECT(settings)); g_object_unref(G_OBJECT(settings));
} }
static void modules_callback(GSettings *settings, gchar *key, gpointer user_data) { static void module_group_callback(GSettings *settings, gchar *key, gpointer user_data) {
handle_module(user_data); handle_module_group(user_data);
} }
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
GMainLoop *g; GMainLoop *g;
GSettings *settings; GSettings *settings;
gchar **modules, **m; gchar **group_names, **name;
#if !GLIB_CHECK_VERSION(2,36,0) #if !GLIB_CHECK_VERSION(2,36,0)
g_type_init(); g_type_init();
#endif #endif
if (!(settings = g_settings_new(PA_GSETTINGS_MODULES_SCHEMA))) if (!(settings = g_settings_new(PA_GSETTINGS_MODULE_GROUPS_SCHEMA)))
goto fail; goto fail;
g_signal_connect(settings, "changed", (GCallback) modules_callback, NULL); g_signal_connect(settings, "changed", (GCallback) module_group_callback, NULL);
modules = g_settings_list_children (settings); group_names = g_settings_list_children(settings);
for (m = modules; *m; m++) { for (name = group_names; *name; name++) {
g_signal_connect(g_settings_get_child (settings, *m), "changed", g_signal_connect(g_settings_get_child(settings, *name), "changed",
(GCallback) modules_callback, *m); (GCallback) module_group_callback, *name);
handle_module(*m); handle_module_group(*name);
} }
/* Signal the parent that we are now initialized */ /* Signal the parent that we are now initialized */

View file

@ -1,19 +1,26 @@
<schemalist gettext-domain="pulseaudio"> <schemalist gettext-domain="pulseaudio">
<schema id="org.freedesktop.pulseaudio.modules" path="/org/freedesktop/pulseaudio/modules/"> <!-- The module-groups object is just an entry point to find the individual
<child name="combine" schema="org.freedesktop.pulseaudio.module"/> module-group objects. -->
<child name="remote-access" schema="org.freedesktop.pulseaudio.module"/> <schema id="org.freedesktop.pulseaudio.module-groups" path="/org/freedesktop/pulseaudio/module-groups/">
<child name="zeroconf-discover" schema="org.freedesktop.pulseaudio.module"/> <child name="combine" schema="org.freedesktop.pulseaudio.module-group"/>
<child name="raop-discover" schema="org.freedesktop.pulseaudio.module"/> <child name="remote-access" schema="org.freedesktop.pulseaudio.module-group"/>
<child name="rtp-recv" schema="org.freedesktop.pulseaudio.module"/> <child name="zeroconf-discover" schema="org.freedesktop.pulseaudio.module-group"/>
<child name="rtp-send" schema="org.freedesktop.pulseaudio.module"/> <child name="raop-discover" schema="org.freedesktop.pulseaudio.module-group"/>
<child name="upnp-media-server" schema="org.freedesktop.pulseaudio.module"/> <child name="rtp-recv" schema="org.freedesktop.pulseaudio.module-group"/>
<child name="rtp-send" schema="org.freedesktop.pulseaudio.module-group"/>
<child name="upnp-media-server" schema="org.freedesktop.pulseaudio.module-group"/>
</schema> </schema>
<schema id="org.freedesktop.pulseaudio.module"> <!-- Paprefs puts related modules into groups that are enabled or disabled as
a whole. One group can contain up to 10 module instances (either of the
same module or different modules). A module-group object defines up to
10 modules to load. The name0..name9 keys contain the module names and
the args0..args9 keys provide the module arguments. -->
<schema id="org.freedesktop.pulseaudio.module-group">
<key name="name" type="s"> <key name="name" type="s">
<default>''</default> <default>''</default>
<summary>Module name</summary> <summary>Module group name</summary>
<description>Name of the pulseaudio module</description> <description>Module group name</description>
</key> </key>
<key name="enabled" type="b"> <key name="enabled" type="b">