From 7167ce41b61d2ba2cdb526777a4233eb84a3b66a Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sat, 6 Dec 2014 17:33:25 -0500 Subject: Imported Upstream version 2.99.6 --- SQLiteStudio3/coreSQLiteStudio/pluginloader.cpp | 35 +++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 SQLiteStudio3/coreSQLiteStudio/pluginloader.cpp (limited to 'SQLiteStudio3/coreSQLiteStudio/pluginloader.cpp') diff --git a/SQLiteStudio3/coreSQLiteStudio/pluginloader.cpp b/SQLiteStudio3/coreSQLiteStudio/pluginloader.cpp new file mode 100644 index 0000000..007e54c --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/pluginloader.cpp @@ -0,0 +1,35 @@ +#include "plugin.h" +#include "pluginloader.h" +#include "unused.h" + +AbstractPluginLoader::~AbstractPluginLoader() +{ + foreach (Plugin* plugin, plugins.values()) + { + plugin->deinit(); + } + + foreach (QPluginLoader* loader, plugins.keys()) + { + if (!loader->unload()) + qDebug() << "Could not unload plugin" << loader->fileName() << ":" << loader->errorString(); + + delete loader; + } + plugins.clear(); +} + +bool AbstractPluginLoader::add(QPluginLoader* loader, Plugin* plugin) +{ + if (!plugin->init()) + return false; + + plugins[loader] = plugin; + return true; +} + + +QList AbstractPluginLoader::getPlugins() const +{ + return plugins.values(); +} -- cgit v1.2.3