Rabbit Remote Control 0.1.0-bate5
Loading...
Searching...
No Matches
PluginLibSSH.cpp
1// Author: Kang Lin <kl222@126.com>
2
3#include "OperateSSH.h"
4#include "PluginLibSSH.h"
5#ifdef HAVE_LIBSSH
6 #include "ChannelSSH.h"
7#endif
8#include <QLoggingCategory>
9static Q_LOGGING_CATEGORY(log, "Plugin.SSH")
10
11CPluginLibSSH::CPluginLibSSH(QObject *parent) : CPlugin(parent)
12{
13}
14
15CPluginLibSSH::~CPluginLibSSH()
16{
17 qDebug(log) << Q_FUNC_INFO;
18}
19
20const QString CPluginLibSSH::Protocol() const
21{
22 return "SSH";
23}
24
25const QString CPluginLibSSH::Name() const
26{
27 return "SSH";
28}
29
30const QString CPluginLibSSH::DisplayName() const
31{
32 return tr("Secure Shell(SSH)")
33#if defined(Q_OS_WIN)
34 + tr("(Experimental)")
35#endif
36 ;
37}
38
39const QString CPluginLibSSH::Description() const
40{
41 return tr("Secure Shell(SSH): is a secure protocol and the most common way of safely administering remote servers. "
42 "Using a number of encryption technologies, "
43 "SSH provides a mechanism for establishing a cryptographically secured connection between two parties, "
44 "authenticating each side to the other, and passing commands and output back and forth."
45 "You can remotely execute programs, transfer files, "
46 "use a secure and transparent tunnel, "
47 "manage public keys and much more ...") + "\n"
48 + tr("It uses libssh: https://www.libssh.org .");
49}
50
51const QIcon CPluginLibSSH::Icon() const
52{
53 return QIcon::fromTheme("ssh");
54}
55
56const CPlugin::TYPE CPluginLibSSH::Type() const
57{
58 return TYPE::Terminal;
59}
60
61const QString CPluginLibSSH::Version() const
62{
63 return 0;
64}
65
66const QString CPluginLibSSH::Details() const
67{
68 QString szDetails;
69 szDetails = COperateTerminal::Details();
70#ifdef HAVE_LIBSSH
71 CChannelSSH channel(nullptr, nullptr);
72 szDetails += channel.GetDetails();
73#endif
74
75 return szDetails;
76}
77
78COperate *CPluginLibSSH::OnCreateOperate(const QString &szId)
79{
80 if(Id() == szId)
81 return new COperateSSH(this);
82 return nullptr;
83}
virtual QString GetDetails() override
Depend on information.
Operate interface.
Definition Operate.h:51
virtual const QString Protocol() const override
Plugin Protocol.
virtual const QString DisplayName() const override
The plugin display name.
virtual const QString Description() const override
Plugin description.
virtual const QString Details() const override
Display more information in About dialog or log.
virtual const QString Version() const override
Version.
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()
ID. Default: Type() + ":" + Protocol() + ":" + Name()
Definition Plugin.cpp:68