Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qvncclient.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#
ifndef
QVNCCLIENT_H
5
#
define
QVNCCLIENT_H
6
7
#
include
<
QObject
>
8
9
#
include
"qvnc_p.h"
10
11
QT_BEGIN_NAMESPACE
12
13
class
QTcpSocket;
14
class
QVncServer
;
15
16
class
QVncClient
:
public
QObject
17
{
18
Q_OBJECT
19
public
:
20
enum
ClientMsg
{
21
SetPixelFormat
= 0,
22
FixColourMapEntries
= 1,
23
SetEncodings
= 2,
24
FramebufferUpdateRequest
= 3,
25
KeyEvent
= 4,
26
PointerEvent
= 5,
27
ClientCutText
= 6
28
};
29
30
explicit
QVncClient
(QTcpSocket *clientSocket,
QVncServer
*server);
31
~
QVncClient
();
32
QTcpSocket *
clientSocket
()
const
;
33
QVncServer
*
server
()
const
{
return
m_server; }
34
35
void
setDirty
(
const
QRegion ®ion);
36
void
setDirtyCursor
() { m_dirtyCursor =
true
; scheduleUpdate(); }
37
QRegion
dirtyRegion
()
const
{
return
m_dirtyRegion; }
38
inline
bool
isConnected
()
const
{
return
m_state == Connected; }
39
40
inline
int
clientBytesPerPixel
()
const
{
41
return
m_pixelFormat
.
bitsPerPixel
/ 8;
42
}
43
44
void
convertPixels
(
char
*dst,
const
char
*src,
int
count,
int
depth)
const
;
45
inline
bool
doPixelConversion
()
const
{
return
m_needConversion; }
46
47
signals
:
48
49
private
slots
:
50
void
readClient
();
51
void
discardClient();
52
void
checkUpdate();
53
void
scheduleUpdate();
54
55
protected
:
56
bool
event
(QEvent *event)
override
;
57
58
private
:
59
enum
ClientState {
60
Disconnected,
61
Protocol,
62
Authentication,
63
Init,
64
Connected
65
};
66
enum
ProtocolVersion {
67
V3_3,
68
V3_7,
69
V3_8
70
};
71
72
void
setPixelFormat();
73
void
setEncodings();
74
void
frameBufferUpdateRequest();
75
void
pointerEvent();
76
void
keyEvent();
77
void
clientCutText();
78
bool
pixelConversionNeeded()
const
;
79
80
QVncServer
*m_server;
81
QTcpSocket *m_clientSocket;
82
QRfbEncoder
*m_encoder;
83
84
// Client State
85
ClientState m_state;
86
quint8 m_msgType;
87
bool
m_handleMsg;
88
QRfbPixelFormat
m_pixelFormat;
89
bool
m_sameEndian;
90
bool
m_needConversion;
91
int
m_encodingsPending;
92
int
m_cutTextPending;
93
uint m_supportCopyRect : 1;
94
uint m_supportRRE : 1;
95
uint m_supportCoRRE : 1;
96
uint m_supportHextile : 1;
97
uint m_supportZRLE : 1;
98
uint m_supportCursor : 1;
99
uint m_supportDesktopSize : 1;
100
bool
m_wantUpdate;
101
Qt::KeyboardModifiers m_keymod;
102
bool
m_dirtyCursor;
103
bool
m_updatePending;
104
#
if
Q_BYTE_ORDER
==
Q_BIG_ENDIAN
105
bool
m_swapBytes;
106
#
endif
107
QRegion m_dirtyRegion;
108
ProtocolVersion m_protocolVersion;
109
};
110
111
QT_END_NAMESPACE
112
113
#
endif
// QVNCCLIENT_H
QRfbClientCutText
Definition
qvnc_p.h:159
QRfbClientCutText::read
bool read(QTcpSocket *s)
Definition
qvnc.cpp:405
QRfbEncoder
Definition
qvnc_p.h:167
QRfbFrameBufferUpdateRequest
Definition
qvnc_p.h:130
QRfbFrameBufferUpdateRequest::incremental
char incremental
Definition
qvnc_p.h:134
QRfbFrameBufferUpdateRequest::read
bool read(QTcpSocket *s)
Definition
qvnc.cpp:332
QRfbKeyEvent
Definition
qvnc_p.h:139
QRfbKeyEvent::keycode
int keycode
Definition
qvnc_p.h:144
QRfbKeyEvent::read
bool read(QTcpSocket *s)
Definition
qvnc.cpp:343
QRfbKeyEvent::down
char down
Definition
qvnc_p.h:143
QRfbKeyEvent::unicode
int unicode
Definition
qvnc_p.h:145
QRfbPixelFormat
Definition
qvnc_p.h:84
QRfbPixelFormat::greenShift
int greenShift
Definition
qvnc_p.h:99
QRfbPixelFormat::depth
int depth
Definition
qvnc_p.h:92
QRfbPixelFormat::trueColor
bool trueColor
Definition
qvnc_p.h:94
QRfbPixelFormat::bigEndian
bool bigEndian
Definition
qvnc_p.h:93
QRfbPixelFormat::redBits
int redBits
Definition
qvnc_p.h:95
QRfbPixelFormat::blueShift
int blueShift
Definition
qvnc_p.h:100
QRfbPixelFormat::redShift
int redShift
Definition
qvnc_p.h:98
QRfbPixelFormat::read
void read(QTcpSocket *s)
Definition
qvnc.cpp:229
QRfbPixelFormat::blueBits
int blueBits
Definition
qvnc_p.h:97
QRfbPixelFormat::bitsPerPixel
int bitsPerPixel
Definition
qvnc_p.h:91
QRfbPixelFormat::write
void write(QTcpSocket *s)
Definition
qvnc.cpp:255
QRfbPixelFormat::greenBits
int greenBits
Definition
qvnc_p.h:96
QRfbPointerEvent
Definition
qvnc_p.h:149
QRfbPointerEvent::read
bool read(QTcpSocket *s)
Definition
qvnc.cpp:381
QRfbRawEncoder
Definition
qvnc_p.h:179
QRfbRawEncoder::write
void write() override
Definition
qvnc.cpp:418
QRfbRect
Definition
qvnc_p.h:67
QRfbRect::read
void read(QTcpSocket *s)
Definition
qvnc.cpp:209
QRfbRect::write
void write(QTcpSocket *s) const
Definition
qvnc.cpp:219
QRfbServerInit
Definition
qvnc_p.h:104
QRfbServerInit::read
void read(QTcpSocket *s)
Definition
qvnc.cpp:289
QRfbServerInit::format
QRfbPixelFormat format
Definition
qvnc_p.h:117
QRfbServerInit::setName
void setName(const char *n)
Definition
qvnc.cpp:282
QRfbServerInit::name
char * name
Definition
qvnc_p.h:118
QRfbServerInit::write
void write(QTcpSocket *s)
Definition
qvnc.cpp:306
QRfbSetEncodings
Definition
qvnc_p.h:122
QRfbSetEncodings::read
bool read(QTcpSocket *s)
Definition
qvnc.cpp:319
QVncClient
Definition
qvncclient.h:17
QVncClient::clientBytesPerPixel
int clientBytesPerPixel() const
Definition
qvncclient.h:40
QVncClient::dirtyRegion
QRegion dirtyRegion() const
Definition
qvncclient.h:37
QVncClient::doPixelConversion
bool doPixelConversion() const
Definition
qvncclient.h:45
QVncClient::QVncClient
QVncClient(QTcpSocket *clientSocket, QVncServer *server)
Definition
qvncclient.cpp:21
QVncClient::convertPixels
void convertPixels(char *dst, const char *src, int count, int depth) const
Definition
qvncclient.cpp:64
QVncClient::setDirtyCursor
void setDirtyCursor()
Definition
qvncclient.h:36
QVncClient::isConnected
bool isConnected() const
Definition
qvncclient.h:38
QVncClient::~QVncClient
~QVncClient()
Definition
qvncclient.cpp:45
QVncClient::clientSocket
QTcpSocket * clientSocket() const
Definition
qvncclient.cpp:50
QVncClient::event
bool event(QEvent *event) override
This virtual function receives events to an object and should return true if the event e was recogniz...
Definition
qvncclient.cpp:413
QVncClient::setDirty
void setDirty(const QRegion ®ion)
Definition
qvncclient.cpp:55
QVncClient::server
QVncServer * server() const
Definition
qvncclient.h:33
QVncDirtyMapOptimized
Definition
qvnc_p.h:57
QVncDirtyMapOptimized::setDirty
void setDirty(int x, int y, bool force=false) override
Definition
qvnc.cpp:66
QVncDirtyMap
Definition
qvnc_p.h:30
QVncDirtyMap::bufferStride
int bufferStride
Definition
qvnc_p.h:51
QVncDirtyMap::mapWidth
int mapWidth
Definition
qvnc_p.h:43
QVncDirtyMap::bytesPerPixel
int bytesPerPixel
Definition
qvnc_p.h:41
QVncDirtyMap::numTiles
int numTiles
Definition
qvnc_p.h:52
QVncDirtyMap::mapHeight
int mapHeight
Definition
qvnc_p.h:44
QVncDirtyMap::bufferHeight
int bufferHeight
Definition
qvnc_p.h:50
QVncDirtyMap::QVncDirtyMap
QVncDirtyMap(QVncScreen *screen)
Definition
qvnc.cpp:26
QVncDirtyMap::screen
QVncScreen * screen
Definition
qvnc_p.h:40
QVncDirtyMap::numDirty
int numDirty
Definition
qvnc_p.h:42
QVncDirtyMap::reset
void reset()
Definition
qvnc.cpp:47
QVncDirtyMap::~QVncDirtyMap
virtual ~QVncDirtyMap()
Definition
qvnc.cpp:41
QVncDirtyMap::bufferWidth
int bufferWidth
Definition
qvnc_p.h:49
QVncDirtyMap::dirty
bool dirty(int x, int y) const
Definition
qvnc.cpp:54
QVncDirtyMap::setClean
void setClean(int x, int y)
Definition
qvnc.cpp:59
QVncScreen
Definition
qvncscreen.h:20
QVncScreen::clearDirty
void clearDirty()
Definition
qvncscreen.h:39
QVncScreen::disableClientCursor
void disableClientCursor(QVncClient *client)
Definition
qvncscreen.cpp:106
QVncServer
Definition
qvnc_p.h:352
QVncServer::~QVncServer
~QVncServer()
Definition
qvnc.cpp:609
QVncServer::screenImage
QImage screenImage() const
Definition
qvnc.cpp:644
QVncServer::discardClient
void discardClient(QVncClient *client)
Definition
qvnc.cpp:635
QVncServer::setDirty
void setDirty()
Definition
qvnc.cpp:614
QVncServer::dirtyMap
QVncDirtyMap * dirtyMap() const
Definition
qvnc_p.h:365
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
Q_LOGGING_CATEGORY
Q_LOGGING_CATEGORY(lcEventDispatcher, "qt.eventdispatcher")
MAP_TILE_SIZE
#define MAP_TILE_SIZE
Definition
qvnc_p.h:27
qtbase
src
plugins
platforms
vnc
qvncclient.h
Generated on
for Qt by
1.18.0