玉兔远程控制
0.1.0-bate14
Toggle main menu visibility
载入中...
搜索中...
未找到
Src
Manager.h
1
// Author: Kang Lin <kl222@126.com>
2
3
#pragma once
4
5
#include <QObject>
6
#include <QDir>
7
#include <QMap>
8
#include <QIcon>
9
#include <QTranslator>
10
#include <QSharedPointer>
11
12
#include "Database.h"
13
#include "Plugin.h"
14
#include "Hook.h"
15
#include "ParameterGlobal.h"
16
17
#if defined(__clang__) || defined(__GNUC__)
18
#define CPP_STANDARD __cplusplus
19
#elif defined(_MSC_VER)
20
#define CPP_STANDARD _MSVC_LANG
21
#endif
22
#if CPP_STANDARD >= 199711L
23
#define HAS_CPP_03 1
24
#endif
25
#if CPP_STANDARD >= 201103L
26
#define HAS_CPP_11 1
27
#endif
28
#if CPP_STANDARD >= 201402L
29
#define HAS_CPP_14 1
30
#endif
31
#if CPP_STANDARD >= 201703L
32
#define HAS_CPP_17 1
33
#endif
34
35
#if HAS_CPP_11
36
#include <functional>
37
#endif
38
39
class
CParameterPlugin
;
40
class
QPluginLoader;
41
class
QSplashScreen;
42
49
class
PLUGIN_EXPORT CManager :
public
QObject
50
{
51
Q_OBJECT
52
53
public
:
54
explicit
CManager(QObject *parent =
nullptr
);
55
virtual
~CManager();
56
63
[[nodiscard]]
int
Initial
(QString szFile = QString());
64
81
virtual
COperate
*
CreateOperate
(
const
QString &
id
);
85
virtual
int
DeleteOperate
(
COperate
* p);
86
100
virtual
COperate
*
LoadOperate
(
const
QString& szFile);
101
107
virtual
int
SaveOperate
(
COperate
* pOperate);
108
141
virtual
QList<QWidget*>
GetSettingsWidgets
(QWidget *parent);
149
virtual
int
LoadSettings
(
const
QString szFile = QString());
157
virtual
int
SaveSettings
(
const
QString szFile = QString());
158
164
CParameterGlobal
*
GetGlobalParameters
();
165
173
class
Handle{
174
public
:
175
Handle(){}
181
virtual
int
onProcess
(
const
QString&
id
,
CPlugin
* pPlugin) = 0;
182
};
183
186
virtual
int
EnumPlugins
(
Handle
* handle);
187
#if HAS_CPP_11
192
virtual
int
EnumPlugins
(
198
std::function<
int
(
const
QString&
id
,
CPlugin
* pPlugin)> cb);
199
#endif
200
201
const
QString Details()
const
;
202
203
Q_SIGNALS:
218
void
sigNewOperate
(
COperate
* pOperate,
bool
bOpenSettingsDialog);
219
220
private
:
221
int
LoadPlugins();
227
int
LoadPlugin
(
const
QString& szPath);
228
int
FindPlugins(QDir dir, QStringList filters);
234
int
AppendPlugin
(QPluginLoader *pLoader,
CPlugin
*p);
235
236
private
Q_SLOTS:
237
void
slotCaptureAllKeyboard();
238
239
private
:
240
QString m_szSettingsFile;
242
QMap<QString, QPluginLoader*>
m_Plugins
;
243
qint8 m_FileVersion;
244
QSharedPointer<QTranslator> m_Translator;
245
CHook
* m_pHook;
246
CParameterPlugin
* m_pParameterPlugin;
247
QString m_szDetails;
248
CDatabaseFile
* m_pDatabaseFile;
249
};
250
251
PLUGIN_EXPORT
void
ShowMessageInSplashScreen(
const
QString &szMsg = QString());
CDatabaseFile
File database
定义
Database.h:164
CHook
The class is the HOOK abstract class.
定义
Hook.h:15
CManager::Handle
处理连接者。用于客户端得到连接者信号
定义
Manager.h:173
CManager::Handle::onProcess
virtual int onProcess(const QString &id, CPlugin *pPlugin)=0
Process plugins
CManager::GetSettingsWidgets
virtual QList< QWidget * > GetSettingsWidgets(QWidget *parent)
得到设置参数窗口
定义
Manager.cpp:597
CManager::EnumPlugins
virtual int EnumPlugins(Handle *handle)
Enum plugins
定义
Manager.cpp:669
CManager::CreateOperate
virtual COperate * CreateOperate(const QString &id)
新建 COperate 指针,所有者是调用者。 当不在使用时,调用者必调用 DeteleOperate() 须释放指针。 调用者必须连接信号 COperate::sigFinished 。 释放指针 (...
定义
Manager.cpp:396
CManager::LoadPlugin
int LoadPlugin(const QString &szPath)
LoadPlugin
定义
Manager.cpp:325
CManager::LoadOperate
virtual COperate * LoadOperate(const QString &szFile)
从文件中新建 COperate 指针,所有者是调用者。 当不再使用时,调用者必须负责调用 DeleteOperate() 删除此指针。 调用者必须连接信号 COperate::sigFinished 。...
定义
Manager.cpp:457
CManager::DeleteOperate
virtual int DeleteOperate(COperate *p)
Delete COperate
定义
Manager.cpp:424
CManager::SaveOperate
virtual int SaveOperate(COperate *pOperate)
保存连接参数到文件
定义
Manager.cpp:508
CManager::AppendPlugin
int AppendPlugin(QPluginLoader *pLoader, CPlugin *p)
Append Plugin
定义
Manager.cpp:361
CManager::Initial
int Initial(QString szFile=QString())
Initial
定义
Manager.cpp:119
CManager::m_Plugins
QMap< QString, QPluginLoader * > m_Plugins
ID -> CPlugin
定义
Manager.h:242
CManager::SaveSettings
virtual int SaveSettings(const QString szFile=QString())
保存客户端参数到文件
定义
Manager.cpp:576
CManager::GetGlobalParameters
CParameterGlobal * GetGlobalParameters()
得到全局参数
定义
Manager.cpp:590
CManager::sigNewOperate
void sigNewOperate(COperate *pOperate, bool bOpenSettingsDialog)
当在插件中新建操作时,触发此信号
CManager::LoadSettings
virtual int LoadSettings(const QString szFile=QString())
从文件中加载客户端参数
定义
Manager.cpp:562
CManager::EnumPlugins
virtual int EnumPlugins(std::function< int(const QString &id, CPlugin *pPlugin)> cb)
Enum plugins
COperate
操作接口。
定义
Operate.h:51
CParameterGlobal
全局参数
定义
ParameterGlobal.h:32
CParameterPlugin
插件的全局参数。
定义
ParameterPlugin.h:36
CPlugin
插件接口
定义
Plugin.h:15
作者:康林 (kl222@126.com)
版权所有(c) 康林工作室 保留所有权力