Rabbit Remote Control
0.0.37
Loading...
Searching...
No Matches
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
Backend interface.
Definition
Backend.h:42
CChannelSSHTunnel
ssh tunnel class
Definition
ChannelSSHTunnel.h:23
CChannelSSH
Definition
ChannelSSH.h:14
CParameterNet
Basic network parameters.
Definition
ParameterNet.h:27
CParameterSSHTunnel
Definition
ParameterSSH.h:28
Author: Kang Lin (kl222@126.com)
Copyright (c) Kang Lin Studios All Rights Reserved