diff options
author | Simjees Abraham <simjees.abraham@nokia.com> | 2012-03-14 13:35:17 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-19 12:05:03 +0100 |
commit | e0e81d6f20e2190becd6354785a148c147f00ad8 (patch) | |
tree | f59f9c80ea686077c6464e2d110a92970ce61e23 /src/plugins | |
parent | 5c05f5df1f35291070962b7fe295004e4942f2ce (diff) |
Debugger: Add optional 'host' argument to -qmljsdebugger
Change-Id: I5bb2e48e2ad2019b8a92f6f8842b88027fcd2d28
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Diffstat (limited to 'src/plugins')
4 files changed, 18 insertions, 6 deletions
diff --git a/src/plugins/qmltooling/qmldbg_ost/qmlostplugin.cpp b/src/plugins/qmltooling/qmldbg_ost/qmlostplugin.cpp index 7d120cacb0..4dfed6c673 100644 --- a/src/plugins/qmltooling/qmldbg_ost/qmlostplugin.cpp +++ b/src/plugins/qmltooling/qmldbg_ost/qmlostplugin.cpp @@ -115,10 +115,11 @@ bool QmlOstPlugin::waitForMessage() return d->protocol->waitForReadyRead(-1); } -void QmlOstPlugin::setPort(int port, bool block) +void QmlOstPlugin::setPort(int port, bool block, const QString &hostaddress) { Q_UNUSED(port); Q_UNUSED(block); + Q_UNUSED(hostaddress); Q_D(QmlOstPlugin); diff --git a/src/plugins/qmltooling/qmldbg_ost/qmlostplugin.h b/src/plugins/qmltooling/qmldbg_ost/qmlostplugin.h index 41c3a07f25..257962570c 100644 --- a/src/plugins/qmltooling/qmldbg_ost/qmlostplugin.h +++ b/src/plugins/qmltooling/qmldbg_ost/qmlostplugin.h @@ -63,7 +63,7 @@ public: ~QmlOstPlugin(); void setServer(QQmlDebugServer *server); - void setPort(int port, bool bock); + void setPort(int port, bool bock, const QString &hostaddress); bool isConnected() const; void send(const QByteArray &message); diff --git a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp index e5f31b6f5c..724155a8f5 100644 --- a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp +++ b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp @@ -56,6 +56,7 @@ public: int port; bool block; + QString hostaddress; QTcpSocket *socket; QPacketProtocol *protocol; QTcpServer *tcpServer; @@ -129,11 +130,12 @@ bool QTcpServerConnection::waitForMessage() return d->protocol->waitForReadyRead(-1); } -void QTcpServerConnection::setPort(int port, bool block) +void QTcpServerConnection::setPort(int port, bool block, const QString &hostaddress) { Q_D(QTcpServerConnection); d->port = port; d->block = block; + d->hostaddress = hostaddress; listen(); if (block) @@ -146,7 +148,17 @@ void QTcpServerConnection::listen() d->tcpServer = new QTcpServer(this); QObject::connect(d->tcpServer, SIGNAL(newConnection()), this, SLOT(newConnection())); - if (d->tcpServer->listen(QHostAddress::Any, d->port)) + QHostAddress hostaddress; + if (!d->hostaddress.isEmpty()) { + if (!hostaddress.setAddress(d->hostaddress)) { + hostaddress = QHostAddress::Any; + qDebug("QML Debugger: Incorrect host address provided. So accepting connections " + "from any host."); + } + } 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); @@ -194,4 +206,3 @@ void QTcpServerConnection::invalidPacket() } QT_END_NAMESPACE - diff --git a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h index e81c9f7f0f..e2b32b0e4a 100644 --- a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h +++ b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h @@ -62,7 +62,7 @@ public: ~QTcpServerConnection(); void setServer(QQmlDebugServer *server); - void setPort(int port, bool bock); + void setPort(int port, bool bock, const QString &hostaddress); bool isConnected() const; void send(const QList<QByteArray> &messages); |