玉兔远程控制
0.1.0-bate11
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
48
class
PLUGIN_EXPORT CManager :
public
QObject
49
{
50
Q_OBJECT
51
52
public
:
53
explicit
CManager(QObject *parent =
nullptr
);
54
virtual
~CManager();
55
62
[[nodiscard]]
int
Initial
(QString szFile = QString());
63
80
virtual
COperate
*
CreateOperate
(
const
QString &
id
);
84
virtual
int
DeleteOperate
(
COperate
* p);
85
99
virtual
COperate
*
LoadOperate
(
const
QString& szFile);
100
106
virtual
int
SaveOperate
(
COperate
* pOperate);
107
140
virtual
QList<QWidget*>
GetSettingsWidgets
(QWidget *parent);
148
virtual
int
LoadSettings
(
const
QString szFile = QString());
156
virtual
int
SaveSettings
(
const
QString szFile = QString());
157
163
CParameterGlobal
*
GetGlobalParameters
();
164
172
class
Handle{
173
public
:
174
Handle(){}
180
virtual
int
onProcess
(
const
QString&
id
,
CPlugin
* pPlugin) = 0;
181
};
182
185
virtual
int
EnumPlugins
(
Handle
* handle);
186
#if HAS_CPP_11
191
virtual
int
EnumPlugins
(
197
std::function<
int
(
const
QString&
id
,
CPlugin
* pPlugin)> cb);
198
#endif
199
200
const
QString Details()
const
;
201
202
Q_SIGNALS:
217
void
sigNewOperate
(
COperate
* pOperate,
bool
bOpenSettingsDialog);
218
219
private
:
220
int
LoadPlugins();
226
int
LoadPlugin
(
const
QString& szPath);
227
int
FindPlugins(QDir dir, QStringList filters);
233
int
AppendPlugin
(QPluginLoader *pLoader,
CPlugin
*p);
234
235
private
Q_SLOTS:
236
void
slotCaptureAllKeyboard();
237
238
private
:
239
QString m_szSettingsFile;
241
QMap<QString, QPluginLoader*>
m_Plugins
;
242
qint8 m_FileVersion;
243
QSharedPointer<QTranslator> m_Translator;
244
CHook
* m_pHook;
245
CParameterPlugin
* m_pParameterPlugin;
246
QString m_szDetails;
247
CDatabaseFile
* m_pDatabaseFile;
248
};
CDatabaseFile
File database
定义
Database.h:164
CHook
The class is the HOOK abstract class.
定义
Hook.h:15
CManager::Handle
处理连接者。用于客户端得到连接者信号
定义
Manager.h:172
CManager::Handle::onProcess
virtual int onProcess(const QString &id, CPlugin *pPlugin)=0
Process plugins
CManager::GetSettingsWidgets
virtual QList< QWidget * > GetSettingsWidgets(QWidget *parent)
得到设置参数窗口
定义
Manager.cpp:560
CManager::EnumPlugins
virtual int EnumPlugins(Handle *handle)
Enum plugins
定义
Manager.cpp:632
CManager::CreateOperate
virtual COperate * CreateOperate(const QString &id)
新建 COperate 指针,所有者是调用者。 当不在使用时,调用者必调用 DeteleOperate() 须释放指针。 调用者必须连接信号 COperate::sigFinished 。 释放指针 (...
定义
Manager.cpp:359
CManager::LoadPlugin
int LoadPlugin(const QString &szPath)
LoadPlugin
定义
Manager.cpp:292
CManager::LoadOperate
virtual COperate * LoadOperate(const QString &szFile)
从文件中新建 COperate 指针,所有者是调用者。 当不再使用时,调用者必须负责调用 DeleteOperate() 删除此指针。 调用者必须连接信号 COperate::sigFinished 。...
定义
Manager.cpp:420
CManager::DeleteOperate
virtual int DeleteOperate(COperate *p)
Delete COperate
定义
Manager.cpp:387
CManager::SaveOperate
virtual int SaveOperate(COperate *pOperate)
保存连接参数到文件
定义
Manager.cpp:471
CManager::AppendPlugin
int AppendPlugin(QPluginLoader *pLoader, CPlugin *p)
Append Plugin
定义
Manager.cpp:324
CManager::Initial
int Initial(QString szFile=QString())
Initial
定义
Manager.cpp:89
CManager::m_Plugins
QMap< QString, QPluginLoader * > m_Plugins
ID -> CPlugin
定义
Manager.h:241
CManager::SaveSettings
virtual int SaveSettings(const QString szFile=QString())
保存客户端参数到文件
定义
Manager.cpp:539
CManager::GetGlobalParameters
CParameterGlobal * GetGlobalParameters()
得到全局参数
定义
Manager.cpp:553
CManager::sigNewOperate
void sigNewOperate(COperate *pOperate, bool bOpenSettingsDialog)
当在插件中新建操作时,触发此信号
CManager::LoadSettings
virtual int LoadSettings(const QString szFile=QString())
从文件中加载客户端参数
定义
Manager.cpp:525
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) 康林工作室 保留所有权力