玉兔远程控制
0.1.0-bate11
Toggle main menu visibility
载入中...
搜索中...
未找到
Plugins
SftpServer
PluginSftpServer.cpp
1
// Author: Kang Lin <kl222@126.com>
2
3
#ifdef HAVE_LIBSSH
4
#include "libssh/libssh.h"
5
#endif
6
#include <QLoggingCategory>
7
#include "OperateSftpServer.h"
8
#include "PluginSftpServer.h"
9
10
static
Q_LOGGING_CATEGORY(log,
"Plugin.SftpServer"
)
11
CPluginSftpServer
::
CPluginSftpServer
(QObject *parent)
12
:
CPlugin
{parent}
13
{
14
qDebug(log) << Q_FUNC_INFO;
15
}
16
17
CPluginSftpServer::~CPluginSftpServer()
18
{
19
qDebug(log) << Q_FUNC_INFO;
20
}
21
22
const
CPlugin::TYPE CPluginSftpServer::Type()
const
23
{
24
return
CPlugin::TYPE::Server;
25
}
26
27
const
QString
CPluginSftpServer::Protocol
()
const
28
{
29
return
"SFTP"
;
30
}
31
32
const
QString
CPluginSftpServer::Name
()
const
33
{
34
return
"SftpServer"
;
35
}
36
37
const
QString
CPluginSftpServer::Description
()
const
38
{
39
return
tr(
"SFTP(Secure File Transfer Protocol) Server"
);
40
}
41
42
const
QString
CPluginSftpServer::Version
()
const
43
{
44
#ifdef SftpServer_VERSION
45
return
SftpServer_VERSION;
46
#else
47
return
QString();
48
#endif
49
}
50
51
const
QIcon CPluginSftpServer::Icon()
const
52
{
53
return
QIcon::fromTheme(
"file-transfer"
);
54
}
55
56
const
QString
CPluginSftpServer::Details
()
const
57
{
58
QString szDetail;
59
#ifdef HAVE_LIBSSH
60
szDetail =
" - "
+ tr(
"libssh version:"
) +
" "
+ ssh_version(0) +
"\n"
;
61
ssh_session session;
62
session = ssh_new();
63
if
(session)
64
{
65
szDetail +=
" - "
+ tr(
"libssh protocol version:"
) +
" "
+ QString::number(ssh_get_version(session)) +
"\n"
;
66
szDetail +=
" - "
+ tr(
"OpenSSH server:"
) +
" "
+ QString::number(ssh_get_openssh_version(session)) +
"\n"
;
67
68
ssh_free(session);
69
}
70
#endif
71
return
szDetail;
72
}
73
74
COperate
*CPluginSftpServer::OnCreateOperate(
const
QString &szId)
75
{
76
if
(szId !=
Id
()) {
77
qCritical(log) <<
"Invalid ID:"
<< szId;
78
return
nullptr
;
79
}
80
return
new
COperateSftpServer(
this
);
81
}
COperate
操作接口。
定义
Operate.h:51
CPluginSftpServer
定义
PluginSftpServer.h:7
CPluginSftpServer::Protocol
virtual const QString Protocol() const override
协议
定义
PluginSftpServer.cpp:27
CPluginSftpServer::Version
virtual const QString Version() const override
Version
定义
PluginSftpServer.cpp:42
CPluginSftpServer::Details
virtual const QString Details() const override
显示更多细节。 例如: 在关于对话框或日志中显示。 包括插件的依赖库的版本信息和描述等
定义
PluginSftpServer.cpp:56
CPluginSftpServer::Description
virtual const QString Description() const override
描述
定义
PluginSftpServer.cpp:37
CPluginSftpServer::Name
virtual const QString Name() const override
插件名,这个名一定要与工程名(${PROJECT_NAME})相同。 翻译文件(${PROJECT_NAME}_*.ts))名与其相关。
定义
PluginSftpServer.cpp:32
CPlugin
插件接口
定义
Plugin.h:15
CPlugin::Id
virtual const QString Id() const
标识。默认: Type() + ":" + Protocol() + ":" + Name()
定义
Plugin.cpp:71
作者:康林 (kl222@126.com)
版权所有(c) 康林工作室 保留所有权力