/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote * * SPDX-License-Identifier: GPL-3.0 */ #ifndef SMOLBOTE_PLUGIN_H #define SMOLBOTE_PLUGIN_H #include #include #include #include inline Plugin loadPluginFromPath(const QString &path) { Plugin p; QPluginLoader loader(path); if(loader.load()) { #ifdef QT_DEBUG qDebug("Loading plugin: %s [ok]", qUtf8Printable(path)); #endif auto meta = loader.metaData().value("MetaData").toObject(); p.name = meta.value("name").toString(); p.author = meta.value("author").toString(); p.shortcut = QKeySequence::fromString(meta.value("shortcut").toString()); p.instance = loader.instance(); } else { qDebug("Loading pluing: %s [failed]", qUtf8Printable(path)); qDebug("%s", qUtf8Printable(loader.errorString())); } return p; } #endif // SMOLBOTE_PLUGIN_H