aboutsummaryrefslogtreecommitdiffstats
path: root/vncviewer/CConn.h
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2014-01-31 13:12:18 +0100
committerPierre Ossman <ossman@cendio.se>2014-07-07 14:50:28 +0200
commitfdba3fe884d5b43e07d7d49033c83f2f11bf524c (patch)
treedbd053e85ed44fd00dedf10b17d0cbb25f40eb5f /vncviewer/CConn.h
parentb6b4dc6487690e891ec2487c6cf765d36821fe3a (diff)
downloadtigervnc-fdba3fe884d5b43e07d7d49033c83f2f11bf524c.tar.gz
tigervnc-fdba3fe884d5b43e07d7d49033c83f2f11bf524c.zip
Push encoder and decoder handling down into the connection objects
This keeps the reader and writer objects clean and simple protocol decoders/encoders.
Diffstat (limited to 'vncviewer/CConn.h')
-rw-r--r--vncviewer/CConn.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/vncviewer/CConn.h b/vncviewer/CConn.h
index 286a09ed..f7f560bc 100644
--- a/vncviewer/CConn.h
+++ b/vncviewer/CConn.h
@@ -1,5 +1,5 @@
/* Copyright (C) 2002-2005 RealVNC Ltd. All Rights Reserved.
- * Copyright 2009-2011 Pierre Ossman <ossman@cendio.se> for Cendio AB
+ * Copyright 2009-2014 Pierre Ossman for Cendio AB
*
* This is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -23,8 +23,11 @@
#include <FL/Fl.H>
#include <rfb/CConnection.h>
+#include <rfb/encodings.h>
#include <network/Socket.h>
+namespace rfb { class Decoder; }
+
class DesktopWindow;
class CConn : public rfb::CConnection,
@@ -62,8 +65,7 @@ public:
void framebufferUpdateStart();
void framebufferUpdateEnd();
- void beginRect(const rfb::Rect& r, int encoding);
- void endRect(const rfb::Rect& r, int encoding);
+ void dataRect(const rfb::Rect& r, int encoding);
void fillRect(const rfb::Rect& r, rfb::Pixel p);
void imageRect(const rfb::Rect& r, void* p);
@@ -102,6 +104,8 @@ private:
bool pendingPFChange;
rfb::PixelFormat pendingPF;
+ rfb::Decoder *decoders[rfb::encodingMax+1];
+
int currentEncoding, lastServerEncoding;
bool formatChange;