diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-06-03 13:24:14 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-06-03 13:24:14 +0200 |
commit | 8cd62fde42a601d07cc47450b69ebb5ee60bd4b0 (patch) | |
tree | db0c62a025fd626bf1c1aed2f63f160e13f3047a /src/browser.cpp | |
parent | Hiding ProfileView until a profile is selected (diff) | |
download | smolbote-8cd62fde42a601d07cc47450b69ebb5ee60bd4b0.tar.xz |
Test plugin loading
Diffstat (limited to 'src/browser.cpp')
-rw-r--r-- | src/browser.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/browser.cpp b/src/browser.cpp index ca2b5d8..031bdb9 100644 --- a/src/browser.cpp +++ b/src/browser.cpp @@ -23,6 +23,10 @@ #include <QtWebEngine> #include <QMessageBox> +#include <QDir> +#include <QPluginLoader> +#include "interfaces.h" + Browser::Browser(int &argc, char *argv[]) : QApplication(argc, argv) { @@ -108,6 +112,31 @@ bool Browser::prepare(QStringList urls) QtWebEngine::initialize(); + // Loading plugins + qDebug(">> Looking for plugins..."); + + // Look for plugins in "../lib/smolbote/plugins" + QDir dir = QDir::current(); + dir.cd("../lib/smolbote/plugins"); + + // Load all plugins + for(QString filename : dir.entryList(QDir::Files | QDir::Readable)) { + qDebug("Loading %s", qUtf8Printable(filename)); + + QPluginLoader loader(dir.absoluteFilePath(filename)); + QObject *plugin = loader.instance(); + if(plugin) { + PluginInterface *p = qobject_cast<PluginInterface *>(plugin); + if(p) { + qDebug("Successfully loaded plugin [name = %s]", qUtf8Printable(p->name())); + } + } else { + qDebug("Plugin load failed"); + } + } + + qDebug("<< Plugins end..."); + // TODO properly profile(""); profile("Default"); |