WIP - Unload plugin commands

This commit is contained in:
James Booth
2016-06-29 23:35:57 +01:00
parent 61a09476c5
commit a01eb5d08e
21 changed files with 162 additions and 21 deletions

View File

@@ -172,6 +172,33 @@ plugins_load(const char *const name)
}
}
gboolean
plugins_unload(const char *const name)
{
GSList *found = g_slist_find_custom(plugins, name, (GCompareFunc)_find_by_name);
if (!found) {
log_info("Failed to unload plugin: %s, plugin not currently loaded", name);
return FALSE;
}
plugins = g_slist_remove_link(plugins, found);
#ifdef HAVE_PYTHON
if (g_str_has_suffix(name, ".py")) {
python_plugin_destroy(found->data);
}
#endif
#ifdef HAVE_C
if (g_str_has_suffix(name, ".so")) {
c_plugin_destroy(found->data);
}
#endif
g_slist_free(found);
return TRUE;
}
GSList *
plugins_get_list(void)
{