玉兔远程控制
0.1.0-alpha.2
载入中...
搜索中...
未找到
Src
SSH
ChannelSSHTunnel.h
1
// Author: Kang Lin <kl222@126.com>
2
3
#pragma once
4
5
#include <QSharedPointer>
6
#include <QSocketNotifier>
7
#include <QMutex>
8
9
#include "ChannelSSH.h"
10
#include "Backend.h"
11
22
class
PLUGIN_EXPORT
CChannelSSHTunnel
:
public
CChannelSSH
23
{
24
Q_OBJECT
25
26
public
:
27
explicit
CChannelSSHTunnel
(
CParameterSSHTunnel
* parameter,
28
CParameterNet
* remote,
29
CBackend
*pBackend,
30
bool
bWakeUp =
true
,
31
QObject *parent =
nullptr
);
32
virtual
~CChannelSSHTunnel
();
33
34
public
:
35
int
Process();
36
virtual
int
DoWait(
bool
bWrite,
int
timeout);
37
int
GetSocket();
38
39
protected
:
40
virtual
qint64 readData(
char
*data, qint64 maxlen)
override
;
41
virtual
qint64 writeData(
const
char
*data, qint64 len)
override
;
42
43
private
:
44
virtual
int
OnOpen(ssh_session session)
override
;
45
virtual
void
OnClose()
override
;
46
47
private
:
48
CParameterNet
* m_pRemoteNet;
49
/*
50
QSocketNotifier* m_pSocketRead;
51
QSocketNotifier* m_pSocketWrite;
52
QSocketNotifier* m_pSocketException;
53
*/
54
};
CBackend
后端接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Start()、 slotTimeOut()、 OnProcess() 。 当然,它仍然支...
Definition
Backend.h:42
CChannelSSHTunnel
SSH 隧道
Definition
ChannelSSHTunnel.h:23
CChannelSSH
Definition
ChannelSSH.h:14
CParameterNet
网络连接参数接口。此类仅在插件内有效。 其界面为 CParameterNetUI
Definition
ParameterNet.h:27
CParameterSSHTunnel
Definition
ParameterSSH.h:28
作者:康林 (kl222@126.com)
版权所有(c) 康林工作室 保留所有权力