2011-02-19 03:53:06 +00:00
|
|
|
#include "Server.h"
|
|
|
|
#include "Connection.h"
|
2012-03-29 03:05:24 +00:00
|
|
|
#include "WebPageManager.h"
|
2011-02-19 03:53:06 +00:00
|
|
|
|
|
|
|
#include <QTcpServer>
|
|
|
|
|
2012-05-04 17:56:21 +00:00
|
|
|
Server::Server(QObject *parent) : QObject(parent) {
|
2011-02-19 03:53:06 +00:00
|
|
|
m_tcp_server = new QTcpServer(this);
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Server::start() {
|
2015-04-10 17:28:14 +00:00
|
|
|
#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()));
|
2012-02-06 06:36:26 +00:00
|
|
|
return m_tcp_server->listen(QHostAddress::LocalHost, 0);
|
2011-05-30 04:36:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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();
|
2012-04-04 19:40:18 +00:00
|
|
|
new Connection(socket, new WebPageManager(this), this);
|
2011-02-19 03:53:06 +00:00
|
|
|
}
|