1 Star 6 Fork 2

jiangtao / GoSlowDetection

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
pluginmanage.h 1.33 KB
一键复制 编辑 原始数据 按行查看 历史
#ifndef PLUGINMANAGE_H
#define PLUGINMANAGE_H
#include <QObject>
#include <plugininterface.h>
class PluginManage : public QObject
{
Q_OBJECT
public:
explicit PluginManage(QObject *parent = nullptr);
//插件文件级别操作
void setPluginRootPath(QString dir); //设置插件根目录
QString getPluginRootPath(); //获取插件根目录
QStringList findPlugin(QString dir); //发现插件
bool addPlugin(const QString &filePath); //添加插件
bool removePlugin(const QString &filePath); //删除插件
bool removeAllPlugin(); //清空插件
//插件对象实例化级别操作
bool loadPlugin(const QString &filePath); //加载插件
void loadAllPlugin();
bool unloadPluin(const QString &filePath); //卸载插件
void unloadAllPlugin();
bool isLoaded(const QString &filePath); //判断插件是否加载
PluginInterface* getPlugin(const QString &filePath);
QHash<QString, PluginInterface*> getAllPlugin();
signals:
void sigLoadPlugin(PluginInterface* plugin);
void sigUnloadPlugin(PluginInterface* plugin);
private:
QString mPluginDir;
QHash<QString, PluginInterface*> mPluginHash; //插件路径(dll名字):插件实例化对象
};
#endif // PLUGINMANAGE_H
C++
1
https://gitee.com/jiangtao008/GoSlowDetection.git
git@gitee.com:jiangtao008/GoSlowDetection.git
jiangtao008
GoSlowDetection
GoSlowDetection
master

搜索帮助