玉兔远程控制 0.1.0-bate5
载入中...
搜索中...
未找到
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}
34
35const QString CPluginLibSSH::Description() const
36{
37 return tr("Secure Shell(SSH): is a secure protocol and the most common way of safely administering remote servers. "
38 "Using a number of encryption technologies, "
39 "SSH provides a mechanism for establishing a cryptographically secured connection between two parties, "
40 "authenticating each side to the other, and passing commands and output back and forth."
41 "You can remotely execute programs, transfer files, "
42 "use a secure and transparent tunnel, "
43 "manage public keys and much more ...") + "\n"
44 + tr("It uses libssh: https://www.libssh.org .");
45}
46
47const QIcon CPluginLibSSH::Icon() const
48{
49 return QIcon::fromTheme("ssh");
50}
51
52const CPlugin::TYPE CPluginLibSSH::Type() const
53{
54 return TYPE::Terminal;
55}
56
57const QString CPluginLibSSH::Version() const
58{
59 return 0;
60}
61
62const QString CPluginLibSSH::Details() const
63{
64 QString szDetails;
65 szDetails = COperateTerminal::Details();
66#ifdef HAVE_LIBSSH
67 CChannelSSH channel(nullptr, nullptr);
68 szDetails += channel.GetDetails();
69#endif
70
71 return szDetails;
72}
73
74COperate *CPluginLibSSH::OnCreateOperate(const QString &szId)
75{
76 if(Id() == szId)
77 return new COperateSSH(this);
78 return nullptr;
79}
virtual QString GetDetails() override
依赖信息
操作接口。
Definition Operate.h:51
virtual const QString Protocol() const override
协议
virtual const QString DisplayName() const override
在界面上显示的名称
virtual const QString Description() const override
描述
virtual const QString Details() const override
显示更多细节。 例如: 在关于对话框或日志中显示。 包括插件的依赖库的版本信息和描述
virtual const QString Version() const override
Version
virtual const QString Name() const override
插件名,这个名一定要与工程名(${PROJECT_NAME})相同。 翻译文件(${PROJECT_NAME}_*.ts))名与其相关。
插件接口
Definition Plugin.h:15
virtual const QString Id()
标识。默认: Type() + ":" + Protocol() + ":" + Name()
Definition Plugin.cpp:68