summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-12-17 21:19:34 +0100
committerLennart Poettering <lennart@poettering.net>2009-01-12 20:27:20 +0100
commit7272c026103beccec8a04bb0831effb6898733a0 (patch)
tree472439b0be894c258b502f6ff704ffa4df9caa42
parent09e3c5e7160047e3691fc94603c0c9f48f60d5bc (diff)
introduce new function pa_module_unload_request_by_index
-rw-r--r--src/pulsecore/module.c10
-rw-r--r--src/pulsecore/module.h6
2 files changed, 14 insertions, 2 deletions
diff --git a/src/pulsecore/module.c b/src/pulsecore/module.c
index 9b17cb91..56ed2c5d 100644
--- a/src/pulsecore/module.c
+++ b/src/pulsecore/module.c
@@ -280,6 +280,16 @@ void pa_module_unload_request(pa_module *m, pa_bool_t force) {
m->core->mainloop->defer_enable(m->core->module_defer_unload_event, 1);
}
+void pa_module_unload_request_by_index(pa_core *c, uint32_t idx, pa_bool_t force) {
+ pa_module *m;
+ pa_assert(c);
+
+ if (!(m = pa_idxset_get_by_index(c->modules, idx)))
+ return;
+
+ pa_module_unload_request(m, force);
+}
+
void pa_module_set_used(pa_module*m, int used) {
pa_assert(m);
diff --git a/src/pulsecore/module.h b/src/pulsecore/module.h
index 365ab67e..661b2dd6 100644
--- a/src/pulsecore/module.h
+++ b/src/pulsecore/module.h
@@ -52,14 +52,16 @@ struct pa_module {
};
pa_module* pa_module_load(pa_core *c, const char *name, const char*argument);
+
void pa_module_unload(pa_core *c, pa_module *m, pa_bool_t force);
void pa_module_unload_by_index(pa_core *c, uint32_t idx, pa_bool_t force);
+void pa_module_unload_request(pa_module *m, pa_bool_t force);
+void pa_module_unload_request_by_index(pa_core *c, uint32_t idx, pa_bool_t force);
+
void pa_module_unload_all(pa_core *c);
void pa_module_unload_unused(pa_core *c);
-void pa_module_unload_request(pa_module *m, pa_bool_t force);
-
void pa_module_set_used(pa_module*m, int used);
#define PA_MODULE_AUTHOR(s) \