diff options
author | Pierre Ossman <ossman@cendio.se> | 2014-01-16 13:12:40 +0100 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2014-07-07 14:42:08 +0200 |
commit | 7638e9c5b1c59abc98e27986b8178f19e5e6cf2a (patch) | |
tree | 3e87cbfbbdc731017a5b0bff751a8b9deaa83c66 /common/rfb/CMsgReader.h | |
parent | 95f1f294d0fd7b006f52d18d39ae0c3116258d91 (diff) | |
download | tigervnc-7638e9c5b1c59abc98e27986b8178f19e5e6cf2a.tar.gz tigervnc-7638e9c5b1c59abc98e27986b8178f19e5e6cf2a.zip |
Merge the "V3" message classes into the normal ones
We have no need for this abstraction so let's keep things simple.
Diffstat (limited to 'common/rfb/CMsgReader.h')
-rw-r--r-- | common/rfb/CMsgReader.h | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/common/rfb/CMsgReader.h b/common/rfb/CMsgReader.h index 7b361609..650f1642 100644 --- a/common/rfb/CMsgReader.h +++ b/common/rfb/CMsgReader.h @@ -1,4 +1,5 @@ /* Copyright (C) 2002-2005 RealVNC Ltd. All Rights Reserved. + * 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 @@ -24,23 +25,26 @@ #define __RFB_CMSGREADER_H__ #include <rdr/types.h> + +#include <rfb/Rect.h> #include <rfb/encodings.h> -#include <rfb/Decoder.h> namespace rdr { class InStream; } namespace rfb { class CMsgHandler; + class Decoder; struct Rect; class CMsgReader { public: + CMsgReader(CMsgHandler* handler, rdr::InStream* is); virtual ~CMsgReader(); - virtual void readServerInit()=0; + void readServerInit(); // readMsg() reads a message, calling the handler as appropriate. - virtual void readMsg()=0; + void readMsg(); rdr::InStream* getInStream() { return is; } rdr::U8* getImageBuf(int required, int requested=0, int* nPixels=0); @@ -49,25 +53,27 @@ namespace rfb { int imageBufIdealSize; protected: - virtual void readSetColourMapEntries(); - virtual void readBell(); - virtual void readServerCutText(); + void readSetColourMapEntries(); + void readBell(); + void readServerCutText(); + void readFence(); + void readEndOfContinuousUpdates(); - virtual void readFramebufferUpdateStart(); - virtual void readFramebufferUpdateEnd(); - virtual void readRect(const Rect& r, int encoding); + void readFramebufferUpdate(); - virtual void readCopyRect(const Rect& r); + void readRect(const Rect& r, int encoding); + void readCopyRect(const Rect& r); - virtual void readSetCursor(int width, int height, const Point& hotspot); - - CMsgReader(CMsgHandler* handler, rdr::InStream* is); + void readSetCursor(int width, int height, const Point& hotspot); + void readSetDesktopName(int x, int y, int w, int h); + void readExtendedDesktopSize(int x, int y, int w, int h); CMsgHandler* handler; rdr::InStream* is; Decoder* decoders[encodingMax+1]; rdr::U8* imageBuf; int imageBufSize; + int nUpdateRectsLeft; }; } #endif |