about summary refs log tree commit diff stats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/plugins.c20
-rw-r--r--src/plugins/plugins.h2
2 files changed, 22 insertions, 0 deletions
diff --git a/src/plugins/plugins.c b/src/plugins/plugins.c
index 5757a174..707ca497 100644
--- a/src/plugins/plugins.c
+++ b/src/plugins/plugins.c
@@ -172,6 +172,12 @@ plugins_load(const char *const name)
     }
 }
 
+gboolean
+plugins_unload(const char *const name)
+{
+    return FALSE;
+}
+
 GSList *
 plugins_get_list(void)
 {
@@ -218,6 +224,20 @@ plugins_unloaded_list(void)
     return result;
 }
 
+GSList*
+plugins_loaded_list(void)
+{
+    GSList *result = NULL;
+    GSList *curr = plugins;
+    while (curr) {
+        ProfPlugin *plugin = curr->data;
+        result = g_slist_append(result, plugin->name);
+        curr = g_slist_next(curr);
+    }
+
+    return result;
+}
+
 char *
 plugins_autocomplete(const char * const input)
 {
diff --git a/src/plugins/plugins.h b/src/plugins/plugins.h
index b03248ab..a5b10a3e 100644
--- a/src/plugins/plugins.h
+++ b/src/plugins/plugins.h
@@ -100,11 +100,13 @@ typedef struct prof_plugin_t {
 void plugins_init(void);
 GSList* plugins_get_list(void);
 GSList *plugins_unloaded_list(void);
+GSList *plugins_loaded_list(void);
 char* plugins_autocomplete(const char *const input);
 void plugins_reset_autocomplete(void);
 void plugins_shutdown(void);
 
 gboolean plugins_load(const char *const name);
+gboolean plugins_unload(const char *const name);
 
 void plugins_on_start(void);
 void plugins_on_shutdown(void);