diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-04-27 21:41:52 -0700 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-04-27 21:41:52 -0700 |
commit | e3fafb1cb55307f6c5f118872d72abdd03011cbd (patch) | |
tree | 910a28296e4769ae2e14f465b7123611bf10f788 /src/plugin.c | |
parent | 5a5c569add1d4cc9eb8aaf8be40eac2bf8c97bd3 (diff) | |
download | connman-e3fafb1cb55307f6c5f118872d72abdd03011cbd.tar.gz connman-e3fafb1cb55307f6c5f118872d72abdd03011cbd.tar.bz2 connman-e3fafb1cb55307f6c5f118872d72abdd03011cbd.zip |
Add infrastructure for built-in plugins
Diffstat (limited to 'src/plugin.c')
-rw-r--r-- | src/plugin.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugin.c b/src/plugin.c index 36e816bd..23caa0a8 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -74,15 +74,21 @@ static gboolean add_plugin(void *handle, struct connman_plugin_desc *desc) return TRUE; } +#include "builtin.h" + int __connman_plugin_init(const char *pattern, const char *exclude) { GSList *list; GDir *dir; const gchar *file; gchar *filename; + unsigned int i; DBG(""); + for (i = 0; __connman_builtin[i]; i++) + add_plugin(NULL, __connman_builtin[i]); + dir = g_dir_open(PLUGINDIR, 0, NULL); if (dir != NULL) { while ((file = g_dir_read_name(dir)) != NULL) { @@ -157,7 +163,8 @@ void __connman_plugin_cleanup(void) if (plugin->active == TRUE && plugin->desc->exit) plugin->desc->exit(); - dlclose(plugin->handle); + if (plugin->handle != NULL) + dlclose(plugin->handle); g_free(plugin); } |