Rabbit Remote Control 0.0.37
Loading...
Searching...
No Matches
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
22class PLUGIN_EXPORT CChannelSSHTunnel : public CChannelSSH
23{
24 Q_OBJECT
25
26public:
27 explicit CChannelSSHTunnel(CParameterSSHTunnel* parameter,
28 CParameterNet* remote,
29 CBackend *pBackend,
30 bool bWakeUp = true,
31 QObject *parent = nullptr);
32 virtual ~CChannelSSHTunnel();
33
34public:
35 int Process();
36 virtual int DoWait(bool bWrite, int timeout);
37 int GetSocket();
38
39protected:
40 virtual qint64 readData(char *data, qint64 maxlen) override;
41 virtual qint64 writeData(const char *data, qint64 len) override;
42
43private:
44 virtual int OnOpen(ssh_session session) override;
45 virtual void OnClose() override;
46
47private:
48 CParameterNet* m_pRemoteNet;
49 /*
50 QSocketNotifier* m_pSocketRead;
51 QSocketNotifier* m_pSocketWrite;
52 QSocketNotifier* m_pSocketException;
53 */
54};
Backend interface.
Definition Backend.h:42
ssh tunnel class
Basic network parameters.