DAWorkbench
0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAAbstractPlugin.h
1
#ifndef DAABSTRACTPLUGIN_H
2
#define DAABSTRACTPLUGIN_H
3
#include <memory>
4
#include <QtPlugin>
5
#include <QObject>
6
#include "DAPluginSupportGlobal.h"
7
#include "DAAbstractSettingPage.h"
8
namespace
DA
9
{
10
class
DACoreInterface;
11
class
DAAbstractArchiveTask;
19
class
DAPLUGINSUPPORT_API
DAAbstractPlugin
20
{
21
DA_DECLARE_PRIVATE(
DAAbstractPlugin
)
22
friend
class
DAPluginOption
;
23
friend
class
DAPluginManager
;
24
25
public
:
26
DAAbstractPlugin
();
27
virtual
~DAAbstractPlugin
();
28
29
// 插件id
30
virtual
QString getIID()
const
= 0;
31
36
virtual
QString
getName
()
const
= 0;
37
42
virtual
QString
getVersion
()
const
= 0;
43
48
virtual
QString
getDescription
()
const
= 0;
49
54
virtual
void
retranslate();
55
62
virtual
bool
initialize();
63
69
virtual
bool
finalize();
70
76
virtual
DAAbstractSettingPage
* createSettingPage();
77
85
virtual
std::shared_ptr< DAAbstractArchiveTask > createArchiveTask(
bool
isSave);
86
87
// 获取core
88
DACoreInterface
* core()
const
;
89
90
protected
:
91
void
setCore(
DACoreInterface
* c);
92
};
93
}
// namespace DA
94
95
// 封装成插件需要在原本封装dll的基础上添加以下语句
96
QT_BEGIN_NAMESPACE
97
#define DAABSTRACTPLUGIN_IID "org.da.abstract.plugin"
98
Q_DECLARE_INTERFACE(
DA::DAAbstractPlugin
, DAABSTRACTPLUGIN_IID)
99
QT_END_NAMESPACE
100
101
#endif
// DAABSTRACTPLUGIN_H
DA::DAAbstractPlugin
所有插件的基类
Definition
DAAbstractPlugin.h:20
DA::DAAbstractPlugin::getName
virtual QString getName() const =0
插件名
DA::DAAbstractPlugin::getVersion
virtual QString getVersion() const =0
插件版本
DA::DAAbstractPlugin::getDescription
virtual QString getDescription() const =0
插件描述
DA::DAAbstractSettingPage
配置页面的基类,所有配置页面都继承此类
Definition
DAAbstractSettingPage.h:22
DA::DACoreInterface
APP的核心接口
Definition
DACoreInterface.h:24
DA::DAPluginManager
此类为插件管理类,作为单例,管理整个程序的插件加载和释放
Definition
DAPluginManager.h:15
DA::DAPluginOption
用于插件的加载操作
Definition
DAPluginOption.h:13
DA
序列化类都是带异常的,使用中需要处理异常
Definition
AppMainWindow.cpp:44
src
DAPluginSupport
DAAbstractPlugin.h
制作者
1.9.8