Use abstract SocketListener class
Makes the code more general and not directly tied to specifically
TCP sockets.
diff --git a/unix/x0vncserver/x0vncserver.cxx b/unix/x0vncserver/x0vncserver.cxx
index c8098f7..db91797 100644
--- a/unix/x0vncserver/x0vncserver.cxx
+++ b/unix/x0vncserver/x0vncserver.cxx
@@ -291,7 +291,7 @@
signal(SIGINT, CleanupSignalHandler);
signal(SIGTERM, CleanupSignalHandler);
- std::list<TcpListener*> listeners;
+ std::list<SocketListener*> listeners;
try {
TXWindow::init(dpy,"x0vncserver");
@@ -313,7 +313,7 @@
const char *hostsData = hostsFile.getData();
FileTcpFilter fileTcpFilter(hostsData);
if (strlen(hostsData) != 0)
- for (std::list<TcpListener*>::iterator i = listeners.begin();
+ for (std::list<SocketListener*>::iterator i = listeners.begin();
i != listeners.end();
i++)
(*i)->setFilter(&fileTcpFilter);
@@ -335,7 +335,7 @@
FD_ZERO(&wfds);
FD_SET(ConnectionNumber(dpy), &rfds);
- for (std::list<TcpListener*>::iterator i = listeners.begin();
+ for (std::list<SocketListener*>::iterator i = listeners.begin();
i != listeners.end();
i++)
FD_SET((*i)->getFd(), &rfds);
@@ -387,7 +387,7 @@
}
// Accept new VNC connections
- for (std::list<TcpListener*>::iterator i = listeners.begin();
+ for (std::list<SocketListener*>::iterator i = listeners.begin();
i != listeners.end();
i++) {
if (FD_ISSET((*i)->getFd(), &rfds)) {
diff --git a/unix/xserver/hw/vnc/RFBGlue.cc b/unix/xserver/hw/vnc/RFBGlue.cc
index c915336..c09dfe6 100644
--- a/unix/xserver/hw/vnc/RFBGlue.cc
+++ b/unix/xserver/hw/vnc/RFBGlue.cc
@@ -199,7 +199,7 @@
{
try {
// Attempt to create TCPListeners on that port.
- std::list<network::TcpListener*> dummy;
+ std::list<network::SocketListener*> dummy;
network::createTcpListeners (&dummy, 0, port);
while (!dummy.empty()) {
delete dummy.back();
diff --git a/unix/xserver/hw/vnc/XserverDesktop.cc b/unix/xserver/hw/vnc/XserverDesktop.cc
index 080943d..4aac765 100644
--- a/unix/xserver/hw/vnc/XserverDesktop.cc
+++ b/unix/xserver/hw/vnc/XserverDesktop.cc
@@ -32,7 +32,7 @@
#include <fcntl.h>
#include <sys/utsname.h>
-#include <network/TcpSocket.h>
+#include <network/Socket.h>
#include <rfb/Exception.h>
#include <rfb/VNCServerST.h>
#include <rfb/HTTPServer.h>
@@ -107,8 +107,8 @@
XserverDesktop::XserverDesktop(int screenIndex_,
- std::list<network::TcpListener*> listeners_,
- std::list<network::TcpListener*> httpListeners_,
+ std::list<network::SocketListener*> listeners_,
+ std::list<network::SocketListener*> httpListeners_,
const char* name, const rfb::PixelFormat &pf,
int width, int height,
void* fbptr, int stride)
@@ -127,13 +127,13 @@
if (!httpListeners.empty ())
httpServer = new FileHTTPServer(this);
- for (std::list<TcpListener*>::iterator i = listeners.begin();
+ for (std::list<SocketListener*>::iterator i = listeners.begin();
i != listeners.end();
i++) {
vncSetNotifyFd((*i)->getFd(), screenIndex, true, false);
}
- for (std::list<TcpListener*>::iterator i = httpListeners.begin();
+ for (std::list<SocketListener*>::iterator i = httpListeners.begin();
i != httpListeners.end();
i++) {
vncSetNotifyFd((*i)->getFd(), screenIndex, true, false);
@@ -386,10 +386,10 @@
}
bool XserverDesktop::handleListenerEvent(int fd,
- std::list<TcpListener*>* sockets,
+ std::list<SocketListener*>* sockets,
SocketServer* sockserv)
{
- std::list<TcpListener*>::iterator i;
+ std::list<SocketListener*>::iterator i;
for (i = sockets->begin(); i != sockets->end(); i++) {
if ((*i)->getFd() == fd)
diff --git a/unix/xserver/hw/vnc/XserverDesktop.h b/unix/xserver/hw/vnc/XserverDesktop.h
index f1c3e3e..f866a4c 100644
--- a/unix/xserver/hw/vnc/XserverDesktop.h
+++ b/unix/xserver/hw/vnc/XserverDesktop.h
@@ -44,7 +44,7 @@
class VNCServerST;
}
-namespace network { class TcpListener; class Socket; class SocketServer; }
+namespace network { class SocketListener; class Socket; class SocketServer; }
class XserverDesktop : public rfb::SDesktop, public rfb::FullFramePixelBuffer,
public rdr::Substitutor,
@@ -53,8 +53,8 @@
public:
XserverDesktop(int screenIndex,
- std::list<network::TcpListener*> listeners_,
- std::list<network::TcpListener*> httpListeners_,
+ std::list<network::SocketListener*> listeners_,
+ std::list<network::SocketListener*> httpListeners_,
const char* name, const rfb::PixelFormat &pf,
int width, int height, void* fbptr, int stride);
virtual ~XserverDesktop();
@@ -109,7 +109,7 @@
protected:
bool handleListenerEvent(int fd,
- std::list<network::TcpListener*>* sockets,
+ std::list<network::SocketListener*>* sockets,
network::SocketServer* sockserv);
bool handleSocketEvent(int fd,
network::SocketServer* sockserv,
@@ -122,8 +122,8 @@
int screenIndex;
rfb::VNCServerST* server;
rfb::HTTPServer* httpServer;
- std::list<network::TcpListener*> listeners;
- std::list<network::TcpListener*> httpListeners;
+ std::list<network::SocketListener*> listeners;
+ std::list<network::SocketListener*> httpListeners;
bool directFbptr;
uint32_t queryConnectId;
diff --git a/unix/xserver/hw/vnc/vncExtInit.cc b/unix/xserver/hw/vnc/vncExtInit.cc
index 54cca95..f267451 100644
--- a/unix/xserver/hw/vnc/vncExtInit.cc
+++ b/unix/xserver/hw/vnc/vncExtInit.cc
@@ -173,8 +173,8 @@
for (int scr = 0; scr < vncGetScreenCount(); scr++) {
if (!desktop[scr]) {
- std::list<network::TcpListener*> listeners;
- std::list<network::TcpListener*> httpListeners;
+ std::list<network::SocketListener*> listeners;
+ std::list<network::SocketListener*> httpListeners;
if (scr == 0 && vncInetdSock != -1) {
if (network::TcpSocket::isListening(vncInetdSock))
{