Exemplo n.º 1
0
void Filter::loadPlugin(QString pluginFilename) {
    // load the plugin
    QPluginLoader loader(pluginFilename);
    if (loader.load()) {
#ifdef _VERBOSE_FILTER
        qDebug() << "Loaded plugin: " << pluginFilename;
#endif
        PluginInterface *pluginP = qobject_cast<PluginInterface *>(loader.instance());  // this singleton instance will be automatically
        pluginP = pluginP->newInstance(m_virtualDirectoryPath);                         // unloaded when the server exits
        m_plugins.append(pluginP);
        m_pluginFilenames.append(pluginFilename);
    }
    else
        qDebug() << QObject::tr("Failed to load plugin: ") + pluginFilename + QObject::tr(", error: ") + loader.errorString();
}