3#include <QLoggingCategory>
6#include "DlgSettingsSSH.h"
11static Q_LOGGING_CATEGORY(log,
"Plugin.SSH.Operate")
16 qDebug(log) << Q_FUNC_INFO;
17 auto &net = m_Parameters.m_SSH.m_Net;
19 QList<CParameterUser::TYPE> lstType;
20 lstType << CParameterUser::TYPE::UserPassword
21 << CParameterUser::TYPE::PublicKey;
22 net.m_User.SetType(lstType);
23 bool check = connect(
this, SIGNAL(sigReceiveData(
const QByteArray&)),
24 this, SLOT(slotReceiveData(
const QByteArray&)));
28COperateSSH::~COperateSSH()
30 qDebug(log) << Q_FUNC_INFO;
56void COperateSSH::slotReceiveData(
const QByteArray &data)
59 WriteTerminal(data.data(), data.length());
67 auto &sshNet = m_Parameters.m_SSH.m_Net;
68 if(!sshNet.GetHost().isEmpty())
69 szId +=
"_" + sshNet.GetHost()
70 +
"_" + QString::number(sshNet.GetPort());
74 static QRegularExpression exp(
"[-@:/#%!^&* \\.]");
75 szId = szId.replace(exp,
"_");
81 QString szName = m_Parameters.GetName();
83 if(szName.isEmpty()) {
84 auto &sshNet = m_Parameters.m_SSH.m_Net;
85 if(!sshNet.GetHost().isEmpty()) {
87 && (
GetParameter()->GetGlobalParameters()->GetNameStyles()
88 & CParameterPlugin::NameStyle::Protocol)
91 szName += sshNet.GetHost()
92 +
":" + QString::number(sshNet.GetPort());
99 QString szSecurityLevel;
101 if((
GetParameter()->GetGlobalParameters()->GetNameStyles()
102 & CParameterPlugin::NameStyle::SecurityLevel)
104 && !sl.GetUnicodeIcon().isEmpty())
105 szSecurityLevel = sl.GetUnicodeIcon().left(2);
107 return szSecurityLevel + szName;
112 QString szDescription;
113 if(!
Name().isEmpty())
114 szDescription = tr(
"Name: ") +
Name() +
"\n";
117 szDescription += tr(
"Type: ") +
GetTypeName() +
"\n";
120 szDescription += tr(
"Protocol: ") +
Protocol();
122 if(!
GetPlugin()->DisplayName().isEmpty())
125 szDescription +=
"\n";
128 auto &sshNet = m_Parameters.m_SSH.m_Net;
129 if(!sshNet.GetHost().isEmpty())
130 szDescription += tr(
"Server address: ") + sshNet.GetHost()
131 +
":" + QString::number(sshNet.GetPort()) +
"\n";
135 szDescription += tr(
"Security level: ");
136 if(!sl.GetUnicodeIcon().isEmpty())
137 szDescription += sl.GetUnicodeIcon() +
" ";
138 szDescription += sl.GetString() +
"\n";
144 return szDescription;
后端接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Start()、 slotTimeOut()、 OnProcess() 。 当然,它仍然支...
virtual int Clean() override
Clean parameters and resource
virtual const QString Name() override
名称
virtual int Initial() override
Initial parameters and resource
virtual CBackend * InstanceBackend() override
新建后端实例。它的所有者是调用者, 如果调用者不再使用它,调用者必须负责释放它。
virtual const QString Id() override
标识
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
得到设置对话框
virtual const QString Description() override
描述
virtual int Initial() override
Initial parameters and resource
virtual const QString Name() override
名称
virtual int SetParameter(CParameterTerminalBase *pPara)
设置参数指针
virtual CParameterTerminalBase * GetParameter() const
Get parameters
virtual CSecurityLevel::Levels GetSecurityLevel() const
Get Security Level
virtual const QString Protocol() const
协议
Q_INVOKABLE CPlugin * GetPlugin() const
Get plugin
virtual const QString Id()
标识
virtual const QString GetTypeName() const
类型名
CParameterPlugin * GetGlobalParameters()
Get CParameterPlugin
virtual const QString DisplayName() const
在界面上显示的名称
virtual const QString Description() const =0
描述