pulse-server: module: rework registry

Move all module methods into the `module_info` struct, and place
all such structs into the "pw_mod_pulse_modules" section of
the executable. This way there is no need for an explicit
module registry, and all information about a module can
be declared in the module's source file in a single place.
This commit is contained in:
Barnabás Pőcze 2022-03-17 17:22:02 +01:00
parent 6ad6300ec6
commit 37fa911a72
26 changed files with 219 additions and 292 deletions

View file

@ -3353,7 +3353,7 @@ static int fill_ext_module_info(struct client *client, struct message *m,
{
message_put(m,
TAG_U32, module->index, /* module index */
TAG_STRING, module->name,
TAG_STRING, module->info->name,
TAG_STRING, module->args,
TAG_U32, -1, /* n_used */
TAG_INVALID);
@ -4741,7 +4741,7 @@ static void handle_module_loaded(struct module *module, struct client *client, u
if (SPA_RESULT_IS_OK(result)) {
pw_log_info("[%s] loaded module index:%u name:%s tag:%d",
client_name, module->index, module->name, tag);
client_name, module->index, module->info->name, tag);
module->loaded = true;
@ -4762,7 +4762,7 @@ static void handle_module_loaded(struct module *module, struct client *client, u
else {
pw_log_warn("%p: [%s] failed to load module index:%u name:%s tag:%d result:%d (%s)",
impl, client_name,
module->index, module->name, tag,
module->index, module->info->name, tag,
result, spa_strerror(result));
module_schedule_unload(module);