玉兔远程控制 0.1.0-bate10
载入中...
搜索中...
未找到
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
10static Q_LOGGING_CATEGORY(log, "Plugin.SftpServer")
12 : CPlugin{parent}
13{
14 qDebug(log) << Q_FUNC_INFO;
15}
16
17CPluginSftpServer::~CPluginSftpServer()
18{
19 qDebug(log) << Q_FUNC_INFO;
20}
21
22const CPlugin::TYPE CPluginSftpServer::Type() const
23{
24 return CPlugin::TYPE::Server;
25}
26
27const QString CPluginSftpServer::Protocol() const
28{
29 return "SFTP";
30}
31
32const QString CPluginSftpServer::Name() const
33{
34 return "SftpServer";
35}
36
37const QString CPluginSftpServer::Description() const
38{
39 return tr("SFTP(Secure File Transfer Protocol) Server");
40}
41
42const QString CPluginSftpServer::Version() const
43{
44#ifdef SftpServer_VERSION
45 return SftpServer_VERSION;
46#else
47 return QString();
48#endif
49}
50
51const QIcon CPluginSftpServer::Icon() const
52{
53 return QIcon::fromTheme("file-transfer");
54}
55
56const 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
74COperate *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}
操作接口。
Definition Operate.h:51
virtual const QString Protocol() const override
协议
virtual const QString Version() const override
Version
virtual const QString Details() const override
显示更多细节。 例如: 在关于对话框或日志中显示。 包括插件的依赖库的版本信息和描述等
virtual const QString Description() const override
描述
virtual const QString Name() const override
插件名,这个名一定要与工程名(${PROJECT_NAME})相同。 翻译文件(${PROJECT_NAME}_*.ts))名与其相关。
插件接口
Definition Plugin.h:15
virtual const QString Id() const
标识。默认: Type() + ":" + Protocol() + ":" + Name()
Definition Plugin.cpp:71