1 /*插件加载处理者,只处理了所有显示插件. 2 */ 3 #ifndef PLUGHANDLER_H 4 #define PLUGHANDLER_H 5 6 #include <QObject> 7 #include <QMap> 8 #include "iplugin.h" 9 10 class PlugHandlerPrivate; 11 class CORE_LIBRARY PlugHandler : public QObject 12 { 13 Q_OBJECT 14 public: 15 explicit PlugHandler(QObject *parent = nullptr); 16 ~PlugHandler(); 17 18 static PlugHandler* instance(); 19 20 QStringList getShowPlugins(); 21 void loadPlugins(const QString &id=QString()); 22 bool unloadPlugins(const QString &id); 23 24 QMap<QString, IPlugin *> plugins(); 25 26 private: 27 PlugHandlerPrivate *m_d; 28 }; 29 30 #endif // PLUGHANDLER_H 31