capybara-webkit/src/Server.cpp

31 lines
841 B
C++
Raw Normal View History

2011-02-19 03:53:06 +00:00
#include "Server.h"
#include "Connection.h"
#include "WebPageManager.h"
2011-02-19 03:53:06 +00:00
#include <QTcpServer>
Server::Server(QObject *parent) : QObject(parent) {
2011-02-19 03:53:06 +00:00
m_tcp_server = new QTcpServer(this);
}
bool Server::start() {
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
QTextStream(stderr) <<
"WARNING: The next major version of capybara-webkit " <<
"will require at least version 5.0 of Qt. " <<
"You're using version " << QT_VERSION_STR << "." << endl;
#endif
2011-02-19 03:53:06 +00:00
connect(m_tcp_server, SIGNAL(newConnection()), this, SLOT(handleConnection()));
return m_tcp_server->listen(QHostAddress::LocalHost, 0);
}
quint16 Server::server_port() const {
return m_tcp_server->serverPort();
2011-02-19 03:53:06 +00:00
}
void Server::handleConnection() {
QTcpSocket *socket = m_tcp_server->nextPendingConnection();
new Connection(socket, new WebPageManager(this), this);
2011-02-19 03:53:06 +00:00
}