Refactoring: now PollingManager is owned by XPixelBuffer. No other classes
know about PollingManager.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2576 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/unix/x0vncserver/XPixelBuffer.h b/unix/x0vncserver/XPixelBuffer.h
index 3632f80..29ae94a 100644
--- a/unix/x0vncserver/XPixelBuffer.h
+++ b/unix/x0vncserver/XPixelBuffer.h
@@ -24,7 +24,9 @@
 #define __XPIXELBUFFER_H__
 
 #include <rfb/PixelBuffer.h>
+#include <rfb/VNCServer.h>
 #include <x0vncserver/Image.h>
+#include <x0vncserver/PollingManager.h>
 
 using namespace rfb;
 
@@ -40,7 +42,10 @@
   virtual ~XPixelBuffer();
 
   // Provide access to the underlying Image object.
-  virtual const Image *getImage() const { return m_image; }
+  const Image *getImage() const { return m_image; }
+
+  // Detect changed pixels, notify the server.
+  inline void poll(VNCServer *server) { m_poller->poll(server); }
 
   // Override PixelBuffer::getStride().
   virtual int getStride() const { return m_stride; }
@@ -49,6 +54,8 @@
   virtual void grabRegion(const rfb::Region& region);
 
 protected:
+  PollingManager *m_poller;
+
   Display *m_dpy;
   Image* m_image;
   int m_offsetLeft;