aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmltooling/qmldbg_tcp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmltooling/qmldbg_tcp')
-rw-r--r--src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp30
-rw-r--r--src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h2
2 files changed, 23 insertions, 9 deletions
diff --git a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp
index fbdb201b04..86e1a70841 100644
--- a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp
+++ b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp
@@ -54,7 +54,8 @@ class QTcpServerConnectionPrivate {
public:
QTcpServerConnectionPrivate();
- int port;
+ int portFrom;
+ int portTo;
bool block;
QString hostaddress;
QTcpSocket *socket;
@@ -65,7 +66,8 @@ public:
};
QTcpServerConnectionPrivate::QTcpServerConnectionPrivate() :
- port(0),
+ portFrom(0),
+ portTo(0),
block(false),
socket(0),
protocol(0),
@@ -135,10 +137,12 @@ bool QTcpServerConnection::waitForMessage()
return d->protocol->waitForReadyRead(-1);
}
-void QTcpServerConnection::setPort(int port, bool block, const QString &hostaddress)
+void QTcpServerConnection::setPortRange(int portFrom, int portTo, bool block,
+ const QString &hostaddress)
{
Q_D(QTcpServerConnection);
- d->port = port;
+ d->portFrom = portFrom;
+ d->portTo = portTo;
d->block = block;
d->hostaddress = hostaddress;
@@ -163,10 +167,20 @@ void QTcpServerConnection::listen()
} else {
hostaddress = QHostAddress::Any;
}
- if (d->tcpServer->listen(hostaddress, d->port))
- qDebug("QML Debugger: Waiting for connection on port %d...", d->port);
- else
- qWarning("QML Debugger: Unable to listen to port %d.", d->port);
+ int port = d->portFrom;
+ do {
+ if (d->tcpServer->listen(hostaddress, port)) {
+ qDebug("QML Debugger: Waiting for connection on port %d...", port);
+ break;
+ }
+ ++port;
+ } while (port <= d->portTo);
+ if (port > d->portTo) {
+ if (d->portFrom == d->portTo)
+ qWarning("QML Debugger: Unable to listen to port %d.", d->portFrom);
+ else
+ qWarning("QML Debugger: Unable to listen to ports %d - %d.", d->portFrom, d->portTo);
+ }
}
diff --git a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h
index 33157906c8..525ed50e51 100644
--- a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h
+++ b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h
@@ -61,7 +61,7 @@ public:
~QTcpServerConnection();
void setServer(QQmlDebugServer *server);
- void setPort(int port, bool bock, const QString &hostaddress);
+ void setPortRange(int portFrom, int portTo, bool bock, const QString &hostaddress);
bool isConnected() const;
void send(const QList<QByteArray> &messages);