From d7912e21d810a9dcd966061c8183b4ed7561d700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Mon, 10 Jan 2022 01:16:20 +0000 Subject: [PATCH] Port away from KPluginLoader::factory. --- src/backend/corebackendmanager.cpp | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/backend/corebackendmanager.cpp b/src/backend/corebackendmanager.cpp index c955db5..9070b28 100644 --- a/src/backend/corebackendmanager.cpp +++ b/src/backend/corebackendmanager.cpp @@ -62,26 +62,23 @@ bool CoreBackendManager::load(const QString& name) QString path = QStringLiteral("kpmcore/") + name; KPluginLoader loader(path); - KPluginFactory* factory = loader.factory(); KPluginMetaData metadata(path); + d->m_Backend = KPluginFactory::instantiatePlugin(metadata).plugin; - if (factory != nullptr) { - d->m_Backend = factory->create(nullptr); - - QString id = metadata.pluginId(); - QString version = metadata.version(); - if (id.isEmpty()) - return false; - - backend()->setId(id); - backend()->setVersion(version); - qDebug() << "Loaded backend plugin: " << backend()->id(); - - return true; + if (!backend()) { + qWarning() << "Could not create instance of plugin " << name; + return false; } - qWarning() << "Could not load plugin for core backend " << name << ": " << loader.errorString(); - return false; + QString id = metadata.pluginId(); + QString version = metadata.version(); + if (id.isEmpty()) + return false; + + backend()->setId(id); + backend()->setVersion(version); + qDebug() << "Loaded backend plugin: " << backend()->id(); + return true; } void CoreBackendManager::unload()