aboutsummaryrefslogtreecommitdiffstats
path: root/common/rfb/CMsgReader.h
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2014-01-16 13:12:40 +0100
committerPierre Ossman <ossman@cendio.se>2014-07-07 14:42:08 +0200
commit7638e9c5b1c59abc98e27986b8178f19e5e6cf2a (patch)
tree3e87cbfbbdc731017a5b0bff751a8b9deaa83c66 /common/rfb/CMsgReader.h
parent95f1f294d0fd7b006f52d18d39ae0c3116258d91 (diff)
downloadtigervnc-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.h32
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