summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/PluginSystem.cpp10
-rw-r--r--src/plugins/PluginSystem.hpp2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/PluginSystem.cpp b/src/plugins/PluginSystem.cpp
index d813a32e..46f50469 100644
--- a/src/plugins/PluginSystem.cpp
+++ b/src/plugins/PluginSystem.cpp
@@ -194,3 +194,13 @@ std::vector<CPlugin*> CPluginSystem::getAllPlugins() {
results[i] = m_vLoadedPlugins[i].get();
return results;
}
+
+size_t CPluginSystem::pluginCount() {
+ return m_vLoadedPlugins.size();
+}
+
+void CPluginSystem::sig_getPlugins(CPlugin** data, size_t len) {
+ for (size_t i = 0; i < std::min(m_vLoadedPlugins.size(), len); i++) {
+ data[i] = m_vLoadedPlugins[i].get();
+ }
+}
diff --git a/src/plugins/PluginSystem.hpp b/src/plugins/PluginSystem.hpp
index 944434fa..a442c31c 100644
--- a/src/plugins/PluginSystem.hpp
+++ b/src/plugins/PluginSystem.hpp
@@ -37,6 +37,8 @@ class CPluginSystem {
CPlugin* getPluginByPath(const std::string& path);
CPlugin* getPluginByHandle(HANDLE handle);
std::vector<CPlugin*> getAllPlugins();
+ size_t pluginCount();
+ void sig_getPlugins(CPlugin** data, size_t len);
bool m_bAllowConfigVars = false;
std::string m_szLastError = "";