玉兔远程控制 0.1.0-bate11
载入中...
搜索中...
未找到
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 += "- " + tr("Dependency libraries") + "\n";
70 szDetails += COperateTerminal::Details();
71#ifdef HAVE_LIBSSH
72 CChannelSSH channel(nullptr, nullptr);
73 szDetails += channel.GetDetails();
74#endif
75
76 return szDetails;
77}
78
79COperate *CPluginLibSSH::OnCreateOperate(const QString &szId)
80{
81 if(Id() == szId)
82 return new COperateSSH(this);
83 return nullptr;
84}
virtual QString GetDetails() override
依赖信息
操作接口。
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))名与其相关。
插件接口
virtual const QString Id() const
标识。默认: Type() + ":" + Protocol() + ":" + Name()