Code refactoring: passing VNCServer pointer to PollingManager methods
instead of maintaining it as a member variable.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2569 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/unix/x0vncserver/PollingManager.cxx b/unix/x0vncserver/PollingManager.cxx
index 9a9f28a..27f1028 100644
--- a/unix/x0vncserver/PollingManager.cxx
+++ b/unix/x0vncserver/PollingManager.cxx
@@ -51,7 +51,6 @@
ImageFactory *factory,
int offsetLeft, int offsetTop)
: m_dpy(dpy),
- m_server(0),
m_image(buffer->getImage()),
m_bytesPerPixel(buffer->getPF().bpp / 8),
m_offsetLeft(offsetLeft),
@@ -91,15 +90,6 @@
}
//
-// Register VNCServer object.
-//
-
-void PollingManager::setVNCServer(VNCServer *s)
-{
- m_server = s;
-}
-
-//
// DEBUG: Measuring time spent in the poll() function,
// as well as time intervals between poll() calls.
//
@@ -127,15 +117,15 @@
// Search for changed rectangles on the screen.
//
-void PollingManager::poll()
+void PollingManager::poll(VNCServer *server)
{
#ifdef DEBUG
debugBeforePoll();
#endif
// Perform polling and try update clients if changes were detected.
- if (pollScreen())
- m_server->tryUpdate();
+ if (pollScreen(server))
+ server->tryUpdate();
#ifdef DEBUG
debugAfterPoll();
@@ -148,9 +138,9 @@
#define DBG_REPORT_CHANGES(title)
#endif
-bool PollingManager::pollScreen()
+bool PollingManager::pollScreen(VNCServer *server)
{
- if (!m_server)
+ if (!server)
return false;
// Clear the m_changeFlags[] array, indicating that no changes have
@@ -175,7 +165,7 @@
checkNeighbors();
DBG_REPORT_CHANGES("After checking neighbors");
// Inform the server about the changes.
- nTilesChanged = sendChanges();
+ nTilesChanged = sendChanges(server);
}
#ifdef DEBUG_PRINT_NUM_CHANGED_TILES
@@ -265,7 +255,7 @@
return nTilesChanged;
}
-int PollingManager::sendChanges()
+int PollingManager::sendChanges(VNCServer *server)
{
const bool *pChangeFlags = m_changeFlags;
int nTilesChanged = 0;
@@ -287,7 +277,7 @@
if (rect.br.y > m_height)
rect.br.y = m_height;
// Add to the changed region maintained by the server.
- m_server->add_changed(rect);
+ server->add_changed(rect);
// Skip processed tiles.
x += count;
}