diff --git a/common/rfb/CConnection.h b/common/rfb/CConnection.h
index 501c761..7f8dbea 100644
--- a/common/rfb/CConnection.h
+++ b/common/rfb/CConnection.h
@@ -24,6 +24,7 @@
 #define __RFB_CCONNECTION_H__
 
 #include <rfb/CMsgHandler.h>
+#include <rfb/DecodeManager.h>
 #include <rfb/util.h>
 
 namespace rfb {
@@ -64,6 +65,13 @@
     // only ever support protocol version 3.3
     void setProtocol3_3(bool s) {useProtocol3_3 = s;}
 
+    // setFramebuffer configures the PixelBuffer that the CConnection
+    // should render all pixel data in to. Note that the CConnection
+    // takes ownership of the PixelBuffer and it must not be deleted by
+    // anyone else. Call setFramebuffer again with NULL or a different
+    // PixelBuffer to delete the previous one.
+    void setFramebuffer(ModifiablePixelBuffer* fb);
+
     // initialiseProtocol() should be called once the streams and security
     // types are set.  Subsequently, processMsg() should be called whenever
     // there is data to read on the InStream.
@@ -82,6 +90,11 @@
     void processMsg();
 
 
+    // Methods overridden from CMsgHandler
+
+    virtual void dataRect(const Rect& r, int encoding);
+
+
     // Methods to be overridden in a derived class
 
     // getIdVerifier() returns the identity verifier associated with the connection.
@@ -129,6 +142,8 @@
     void setReader(CMsgReader *r) { reader_ = r; }
     void setWriter(CMsgWriter *w) { writer_ = w; }
 
+    ModifiablePixelBuffer* getFramebuffer() { return framebuffer; }
+
   private:
     // This is a default implementation of fences that automatically
     // responds to requests, stating no support for synchronisation.
@@ -157,6 +172,9 @@
     CharArray serverName;
 
     bool useProtocol3_3;
+
+    ModifiablePixelBuffer* framebuffer;
+    DecodeManager decoder;
   };
 }
 #endif
