代码拉取完成,页面将自动刷新
#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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。