Rabbit Remote Control 0.1.0-bate10
Loading...
Searching...
No Matches
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}
Operate interface.
Definition Operate.h:51
virtual const QString Protocol() const override
Plugin Protocol.
virtual const QString Version() const override
Version.
virtual const QString Details() const override
Display more information in About dialog or log.
virtual const QString Description() const override
Plugin description.
virtual const QString Name() const override
This name must be the same as the project name (${PROJECT_NAME}). The translation file (${PROJECT_NAM...
Plugin interface.
Definition Plugin.h:15
virtual const QString Id() const
ID. Default: Type() + ":" + Protocol() + ":" + Name()
Definition Plugin.cpp:71