玉兔远程控制
0.1.0-bate11
Toggle main menu visibility
载入中...
搜索中...
未找到
Plugins
TigerVnc
Client
BackendVnc.h
1
// Author: Kang Lin <kl222@126.com>
2
3
#ifndef CCONNECTVNC_H
4
#define CCONNECTVNC_H
5
6
#pragma once
7
8
#include <QEventLoop>
9
10
#include "BackendDesktop.h"
11
#include "Channel.h"
12
#include "ParameterVnc.h"
13
14
#include "ParameterOperate.h"
15
#include "../InStreamChannel.h"
16
#include "../OutStreamChannel.h"
17
18
#include "rfb/CConnection.h"
19
#include "rfb/UserPasswdGetter.h"
20
#include "rfb/UserMsgBox.h"
21
22
class
COperateDesktop
;
23
class
CBackendVnc
24
:
public
CBackendDesktop,
25
public
rfb::CConnection
26
{
27
Q_OBJECT
28
29
public
:
30
explicit
CBackendVnc(
COperateDesktop
* pOperate);
31
virtual
~CBackendVnc()
override
;
32
33
public
Q_SLOTS:
34
virtual
void
slotConnected();
35
virtual
void
slotDisConnected();
36
virtual
void
slotReadyRead();
37
virtual
void
slotClipBoardChanged()
override
;
38
39
void
slotChannelError(
int
nErr,
const
QString &szErr);
40
41
public
:
42
// rfb::CConnection callback methods
43
virtual
void
initDone()
override
;
44
virtual
void
authSuccess()
override
;
45
virtual
void
resizeFramebuffer()
override
;
46
47
virtual
void
getUserPasswd(
bool
secure, std::string* user, std::string* password)
override
;
48
virtual
int
getX509File(std::string *ca, std::string *crl)
override
;
49
virtual
bool
showMsgBox(rfb::MsgBoxFlags flags,
const
char
* title,
const
char
* text)
override
;
50
51
// CMsgHandler interface
52
public
:
53
virtual
void
setName(
const
char
*name)
override
;
54
virtual
void
framebufferUpdateStart()
override
;
55
virtual
void
framebufferUpdateEnd()
override
;
56
virtual
void
setColourMapEntries(
int
firstColour,
int
nColours, uint16_t* rgbs)
override
;
57
virtual
void
bell()
override
;
58
virtual
void
setLEDState(
unsigned
int
state)
override
;
59
virtual
void
setCursor(
int
width,
int
height,
const
rfb::Point& hotspot,
60
const
uint8_t* data)
override
;
61
virtual
void
setCursorPos(
const
rfb::Point &pos)
override
;
62
virtual
void
fence(uint32_t flags,
unsigned
int
len,
const
uint8_t data[])
override
;
63
64
virtual
void
handleClipboardRequest()
override
;
65
virtual
void
handleClipboardAnnounce(
bool
available)
override
;
66
virtual
void
handleClipboardData(
const
char
*data)
override
;
67
68
protected
:
69
virtual
void
mousePressEvent(QMouseEvent *event)
override
;
70
virtual
void
mouseReleaseEvent(QMouseEvent *event)
override
;
71
virtual
void
mouseMoveEvent(QMouseEvent *event)
override
;
72
virtual
void
wheelEvent(QWheelEvent *event)
override
;
73
virtual
void
keyPressEvent(QKeyEvent *event)
override
;
74
virtual
void
keyReleaseEvent(QKeyEvent *event)
override
;
75
virtual
void
InputMethodEvent(QInputMethodEvent *event)
override
;
76
77
// CConnect interface
78
protected
:
79
// Please call SetParamter before call Connect
80
virtual
OnInitReturnValue
OnInit
()
override
;
81
virtual
int
OnClean
()
override
;
82
virtual
int
OnProcess
()
override
;
83
// CBackendDesktop interface
84
virtual
int
WakeUp
()
override
;
85
86
private
:
87
QSharedPointer<CChannel> m_DataChannel;
88
QSharedPointer<rdr::InStream> m_InStream;
89
QSharedPointer<rdr::OutStream> m_OutStream;
90
91
quint32
TranslateRfbKey
(quint32 inkey,
bool
modifier);
92
QString ConnectInformation();
93
94
private
:
95
COperateDesktop
* m_pOperate;
96
CParameterVnc
* m_pPara;
97
int
SetPara();
98
void
autoSelectFormatAndEncoding();
99
void
updatePixelFormat();
100
101
int
SocketInit();
102
int
SetChannelConnect(QSharedPointer<CChannel> channel);
103
104
int
IceInit();
105
int
SSHInit();
106
107
CSecurityLevel::Levels m_SecurityLevel;
108
};
109
110
#endif
// CCONNECTVNC_H
CBackendVnc::TranslateRfbKey
quint32 TranslateRfbKey(quint32 inkey, bool modifier)
CBackendVnc::TranslateRfbKey
定义
BackendVnc.cpp:999
CBackendVnc::OnClean
virtual int OnClean() override
清理
定义
BackendVnc.cpp:431
CBackendVnc::WakeUp
virtual int WakeUp() override
唤醒后台线程。
定义
BackendVnc.cpp:470
CBackendVnc::OnInit
virtual OnInitReturnValue OnInit() override
初始化
定义
BackendVnc.cpp:198
CBackendVnc::OnProcess
virtual int OnProcess() override
插件连接的具体操作处理。因为此插件是非Qt事件,所以在此函数中等待。
定义
BackendVnc.cpp:456
COperateDesktop
远程桌面操作接口
定义
OperateDesktop.h:69
CParameterVnc
定义
ParameterVnc.h:8
作者:康林 (kl222@126.com)
版权所有(c) 康林工作室 保留所有权力