#pragma once #include #include #include "interfaces/plugin_interface.hpp" class PluginLoader : public QObject { Q_OBJECT public: explicit PluginLoader(QObject *parent = nullptr); Q_INVOKABLE QObject* loadPlugin(const QString& path); Q_INVOKABLE bool unloadPlugin(); Q_INVOKABLE QString errorString() const; signals: void messagePublished(const QString& message, int index); void error(const QString& errorString); private: QPluginLoader m_loader; };