Implement proper support for fences in the server.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4799 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/rfb/VNCSConnectionST.h b/common/rfb/VNCSConnectionST.h
index 5a007ee..e06522b 100644
--- a/common/rfb/VNCSConnectionST.h
+++ b/common/rfb/VNCSConnectionST.h
@@ -133,7 +133,9 @@
     virtual void setDesktopSize(int fb_width, int fb_height,
                                 const ScreenSet& layout);
     virtual void setInitialColourMap();
+    virtual void fence(rdr::U32 flags, unsigned len, const char data[]);
     virtual void supportsLocalCursor();
+    virtual void supportsFence();
 
     // setAccessRights() allows a security package to limit the access rights
     // of a VNCSConnectioST to the server.  These access rights are applied
@@ -168,6 +170,11 @@
 
     bool inProcessMessages;
 
+    bool syncFence;
+    rdr::U32 fenceFlags;
+    unsigned fenceDataLen;
+    char *fenceData;
+
     VNCServerST* server;
     SimpleUpdateTracker updates;
     TransImageGetter image_getter;