玉兔远程控制
0.1.0-bate11
Toggle main menu visibility
载入中...
搜索中...
未找到
Plugins
FtpServer
OperateFtpServer.cpp
1
// Author: Kang Lin <kl222@126.com>
2
3
#include <QLoggingCategory>
4
#include "Plugin.h"
5
#include "BackendFtpServer.h"
6
#include "ParameterFtpServer.h"
7
#include "DlgSettingsFtpServer.h"
8
#include "OperateFtpServer.h"
9
10
static
Q_LOGGING_CATEGORY(log,
"Operate.FtpServer"
)
11
COperateFtpServer
::
COperateFtpServer
(
CPlugin
*plugin)
12
:
COperateServer
(plugin)
13
, m_pPara(
nullptr
)
14
{
15
qDebug(log) << Q_FUNC_INFO;
16
}
17
18
COperateFtpServer::~COperateFtpServer()
19
{
20
qDebug(log) << Q_FUNC_INFO;
21
QString szClass = this->metaObject()->className();
22
QString szWhat;
23
szWhat +=
"Please call "
;
24
szWhat += szClass;
25
szWhat +=
"::Stop() first"
;
26
Q_ASSERT_X(!m_pPara, szClass.toStdString().c_str(), szWhat.toStdString().c_str());
27
}
28
29
CParameterFtpServer
*
COperateFtpServer::GetParameter
()
const
30
{
31
return
m_pPara;
32
}
33
34
const
QString
COperateFtpServer::Name
()
35
{
36
QString szName;
37
// Show the name of parameter
38
if
(
GetParameter
() && !(
GetParameter
()->GetName().isEmpty()))
39
szName +=
GetParameter
()->GetName();
40
else
{
41
// Show the name
42
szName +=
COperate::Name
();
43
}
44
45
// Show the prefix of security level
46
QString szSecurityLevel;
47
CSecurityLevel
sl(
GetSecurityLevel
());
48
if
(
GetParameter
() &&
GetParameter
()->GetPluginParameters()
49
&& (
GetParameter
()->GetPluginParameters()->GetNameStyles()
50
& CParameterPlugin::NameStyle::SecurityLevel)
51
&& !(
GetSecurityLevel
() & CSecurityLevel::Level::No)
52
&& !sl.GetUnicodeIcon().isEmpty())
53
szSecurityLevel = sl.GetUnicodeIcon().left(2);
54
55
return
szSecurityLevel + szName;
56
}
57
58
const
QString
COperateFtpServer::Description
()
59
{
60
QString szDescription;
61
if
(!
Name
().isEmpty())
62
szDescription = tr(
"Name: "
) +
Name
() +
"\n"
;
63
64
if
(!
GetTypeName
().isEmpty())
65
szDescription += tr(
"Type: "
) +
GetTypeName
() +
"\n"
;
66
67
if
(!
Protocol
().isEmpty()) {
68
szDescription += tr(
"Protocol: "
) +
Protocol
();
69
#ifdef DEBUG
70
if
(!
GetPlugin
()->DisplayName().isEmpty())
71
szDescription +=
" - "
+
GetPlugin
()->
DisplayName
();
72
#endif
73
szDescription +=
"\n"
;
74
}
75
76
CSecurityLevel
sl(
GetSecurityLevel
());
77
if
(!(
GetSecurityLevel
() & CSecurityLevel::Level::No)) {
78
szDescription += tr(
"Security level: "
);
79
if
(!sl.GetUnicodeIcon().isEmpty())
80
szDescription += sl.GetUnicodeIcon() +
" "
;
81
szDescription += sl.GetString() +
"\n"
;
82
}
83
84
if
(!
GetPlugin
()->
Description
().isEmpty())
85
szDescription += tr(
"Description: "
) +
GetPlugin
()->
Description
();
86
87
return
szDescription;
88
}
89
90
const
qint16
COperateFtpServer::Version
()
const
91
{
92
return
0;
93
}
94
95
CBackend
*
COperateFtpServer::InstanceBackend
()
96
{
97
return
new
CBackendFtpServer
(
this
);
98
}
99
100
int
COperateFtpServer::SetPluginParameters
(
CParameterPlugin
*pPara)
101
{
102
int
nRet = 0;
103
if
(m_pPara) {
104
m_pPara->SetPluginParameters(pPara);
105
m_pPara->m_Net.m_User.SetSavePassword(
true
);
106
m_pPara->m_Net.m_User.SetSavePassphrase(
true
);
107
}
108
return
nRet;
109
}
110
111
QDialog *
COperateFtpServer::OnOpenDialogSettings
(QWidget *parent)
112
{
113
return
new
CDlgSettingsFtpServer
(m_pPara, parent);
114
}
115
116
int
COperateFtpServer::Load
(QSettings &set)
117
{
118
int
nRet = 0;
119
120
if
(m_pPara)
121
nRet = m_pPara->Load(set);
122
123
return
nRet;
124
}
125
126
int
COperateFtpServer::Save
(QSettings &set)
127
{
128
int
nRet = 0;
129
if
(m_pPara)
130
nRet = m_pPara->Save(set);
131
return
nRet;
132
}
133
134
int
COperateFtpServer::Initial
()
135
{
136
int
nRet = 0;
137
nRet =
COperateServer::Initial
();
138
if
(nRet)
return
nRet;
139
m_pPara =
new
CParameterFtpServer
();
140
141
return
nRet;
142
}
143
144
int
COperateFtpServer::Clean
()
145
{
146
int
nRet = 0;
147
// TODO: add Clean
148
149
if
(m_pPara) {
150
delete
m_pPara;
151
m_pPara =
nullptr
;
152
}
153
nRet =
COperateServer::Clean
();
154
return
nRet;
155
}
CBackendFtpServer
定义
BackendFtpServer.h:11
CBackend
后端接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Start()、 slotTimeOut()、 OnProcess() 。 当然,它仍然支...
定义
Backend.h:52
CDlgSettingsFtpServer
定义
DlgSettingsFtpServer.h:14
COperateFtpServer
定义
OperateFtpServer.h:9
COperateFtpServer::Name
virtual const QString Name() override
名称
定义
OperateFtpServer.cpp:34
COperateFtpServer::OnOpenDialogSettings
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
得到设置对话框
定义
OperateFtpServer.cpp:111
COperateFtpServer::Version
virtual const qint16 Version() const override
版本
定义
OperateFtpServer.cpp:90
COperateFtpServer::SetPluginParameters
virtual int SetPluginParameters(CParameterPlugin *pPara) override
应用插件全局参数
定义
OperateFtpServer.cpp:100
COperateFtpServer::InstanceBackend
virtual Q_INVOKABLE CBackend * InstanceBackend() override
新建后端实例。它的所有者是调用者, 如果调用者不再使用它,调用者必须负责释放它。
定义
OperateFtpServer.cpp:95
COperateFtpServer::Initial
virtual Q_INVOKABLE int Initial() override
Initial parameters and resource
定义
OperateFtpServer.cpp:134
COperateFtpServer::Clean
virtual Q_INVOKABLE int Clean() override
Clean parameters and resource
定义
OperateFtpServer.cpp:144
COperateFtpServer::Description
virtual const QString Description() override
描述
定义
OperateFtpServer.cpp:58
COperateFtpServer::Save
virtual int Save(QSettings &set) override
保存参数
定义
OperateFtpServer.cpp:126
COperateFtpServer::Load
virtual int Load(QSettings &set) override
加载参数
定义
OperateFtpServer.cpp:116
COperateFtpServer::GetParameter
virtual CParameterFtpServer * GetParameter() const
Get parameter
定义
OperateFtpServer.cpp:29
COperateServer
服务操作接口
定义
OperateServer.h:39
COperateServer::Initial
virtual Q_INVOKABLE int Initial() override
Initial parameters and resource
定义
OperateServer.cpp:29
COperateServer::Clean
virtual Q_INVOKABLE int Clean() override
Clean parameters and resource
定义
OperateServer.cpp:55
COperate::GetSecurityLevel
virtual CSecurityLevel::Levels GetSecurityLevel() const
Get Security Level
定义
Operate.cpp:129
COperate::Protocol
virtual const QString Protocol() const
协议
定义
Operate.cpp:81
COperate::GetPlugin
Q_INVOKABLE CPlugin * GetPlugin() const
Get plugin
定义
Operate.cpp:221
COperate::Name
virtual const QString Name()
名称
定义
Operate.cpp:46
COperate::GetTypeName
virtual const QString GetTypeName() const
类型名
定义
Operate.cpp:86
CParameterFtpServer
定义
ParameterFtpServer.h:7
CParameterPlugin
插件的全局参数。
定义
ParameterPlugin.h:36
CPlugin
插件接口
定义
Plugin.h:15
CPlugin::DisplayName
virtual const QString DisplayName() const
在界面上显示的名称
定义
Plugin.cpp:76
CPlugin::Description
virtual const QString Description() const =0
描述
CSecurityLevel
安全级别
定义
Stats.h:97
作者:康林 (kl222@126.com)
版权所有(c) 康林工作室 保留所有权力