From 97dd7251bd024b64999cc3d580b6c0502e7991eb Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 2 Oct 2025 08:56:37 +0000 Subject: [PATCH] modules: Add function to fetch a specific module by its name Signed-off-by: Michael Tremer --- src/daemon/modules.c | 18 ++++++++++++++++++ src/daemon/modules.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/src/daemon/modules.c b/src/daemon/modules.c index dfd4c91..24c5eee 100644 --- a/src/daemon/modules.c +++ b/src/daemon/modules.c @@ -151,3 +151,21 @@ collecty_modules* collecty_modules_unref(collecty_modules* self) { collecty_modules_free(self); return NULL; } + +collecty_module* collecty_modules_get_by_name(collecty_modules* self, const char* name) { + const char* n = NULL; + + // Iterate over all modules to find a match + for (unsigned int i = 0; i < self->num_modules; i++) { + // Fetch the name + n = collecty_module_name(self->modules[i]); + if (!n) + continue; + + // Return the object if the name matches + if (strcmp(name, n) == 0) + return collecty_module_ref(self->modules[i]); + } + + return NULL; +} diff --git a/src/daemon/modules.h b/src/daemon/modules.h index f244750..d4aa8c4 100644 --- a/src/daemon/modules.h +++ b/src/daemon/modules.h @@ -32,4 +32,6 @@ int collecty_modules_create(collecty_modules** modules, collecty_modules* collecty_modules_ref(collecty_modules* self); collecty_modules* collecty_modules_unref(collecty_modules* self); +collecty_module* collecty_modules_get_by_name(collecty_modules* self, const char* name); + #endif /* COLLECTY_MODULES_H */ -- 2.47.3