#ifndef PLUGINMANAGER_H #define PLUGINMANAGER_H #include #include #include class ATBHMIconfig; class QPluginLoader; class PluginManager : public QObject { Q_OBJECT public: explicit PluginManager(ATBHMIconfig *config, QObject *parent = nullptr); QObject * getInstance(const QString & pluginname); const QList listAvailablePlugins(); bool isPluginAvailable(const QString & pluginname); signals: public slots: private: ATBHMIconfig *config; QDir pluginsDir; void loadPlugins(); // Hash to store all plugins QHash plugins; }; #endif // PLUGINMANAGER_H