Rabbit Remote Control 0.0.36
Loading...
Searching...
No Matches
ChannelSSHTunnelForward.h
1// Author: Kang Lin <kl222@126.com>
2
3#ifndef CHANNELSSHTUNNELFORWARD_H
4#define CHANNELSSHTUNNELFORWARD_H
5
6#include "ChannelSSHTunnel.h"
7
23{
24 Q_OBJECT
25public:
27 CParameterNet *remote,
28 CConnect *pConnect,
29 QObject *parent = nullptr);
31
32 // QIODevice interface
33public:
34 virtual bool open(OpenMode mode) override;
35 virtual void close() override;
36 virtual int Process();
37
38 enum class SOCKET_TYPE{
39 UnixSocket,
40 Socket
41 };
42
43Q_SIGNALS:
44 void sigServer(QString szHost, quint16 nPort);
45 void sigServer(QString szUnixDomainSocket);
46
47private:
48 socket_t m_Listen;
49 socket_t m_Connector;
50
51 SOCKET_TYPE m_SocketType;
52
53 int CloseSocket(socket_t &s);
54 int AcceptConnect();
55 int ReadConnect();
56 int SSHReadyRead();
57 int OpenSocket();
58#if defined(HAVE_UNIX_DOMAIN_SOCKET)
59 int OpenUnixSocket();
60#endif
61 char* m_pBuffer;
62 const int m_BufferLength = 1024;
63};
64
65#endif // CHANNELSSHTUNNELFORWARD_H
Includes SSH tunneling and a local socket service for forwarding data.
virtual bool open(OpenMode mode) override
ssh tunnel class
Connect interface.
Definition Connect.h:45
Basic network parameters.