From 8cd62fde42a601d07cc47450b69ebb5ee60bd4b0 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sat, 3 Jun 2017 13:24:14 +0200 Subject: Test plugin loading --- src/browser.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/browser.cpp') 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 #include +#include +#include +#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(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"); -- cgit v1.2.1