#include "pluginhandler.h" /* const auto staticInstances = QPluginLoader::staticInstances(); for (QObject *plugin : staticInstances) populateMenus(plugin); */ bool PluginHandler::load(QString path) { QPluginLoader loader(path); QObject *plugin = loader.instance(); if (plugin) { qDebug() << "loading plugin " << plugin; proxyhandler.loadPlugin(plugin); loaded_plugins += path; QObject::connect(plugin, SIGNAL (error(QString)), this, SIGNAL (proxy_error(QString)), Qt::QueuedConnection); QObject::connect(plugin, SIGNAL (message(http::Flow)), this, SIGNAL (proxy_message(http::Flow)), Qt::QueuedConnection); return true; } else { qDebug() << "fo " << loader.errorString(); } return false; } void PluginHandler::loadPlugins(QDir path) { qDebug() << "loading plugins from " << path; const auto entryList = path.entryList(QDir::Files); for (const QString &fileName : entryList) { qDebug() << "loading " << fileName; load(path.absoluteFilePath(fileName)); } }