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