Implement server side support for SetDesktopSize.

It has some warts, but should be feature complete. Most of the magic happens
in the desktop class though.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3713 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/rfb/SDesktop.h b/common/rfb/SDesktop.h
index 7b054e3..4a53d53 100644
--- a/common/rfb/SDesktop.h
+++ b/common/rfb/SDesktop.h
@@ -41,6 +41,7 @@
 #include <rfb/VNCServer.h>
 #include <rfb/InputHandler.h>
 #include <rfb/Exception.h>
+#include <rfb/screenTypes.h>
 
 namespace rfb {
 
@@ -75,6 +76,13 @@
 
     virtual Point getFbSize() = 0;
 
+    // setScreenLayout() requests to reconfigure the framebuffer and/or
+    // the layout of screens.
+    virtual unsigned int setScreenLayout(int fb_width, int fb_height,
+                                         const ScreenSet& layout) {
+      return resultProhibited;
+    }
+
     // InputHandler interface
     // pointerEvent(), keyEvent() and clientCutText() are called in response to
     // the relevant RFB protocol messages from clients.