summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@digia.com>2014-05-05 18:01:02 +0200
committerUlf Hermann <ulf.hermann@digia.com>2014-05-08 13:40:31 +0200
commitba5c136a6da15f81d35df73557ffd6ad5ef3eed0 (patch)
tree731392584d4239a7ee18e869f89956ef0811622c
parent10252364bb0cab8dda311b9c24867d353df3ea95 (diff)
downloadqt-creator-ba5c136a6da15f81d35df73557ffd6ad5ef3eed0.tar.gz
QmlDebugClient: Check for gotHello to determine if connection is open
The isConnected() method was misleading as it only checked for the network socket to be connected. Sending data before the hello message arrives is a pretty stupid idea and the debug clients need a way to detect that. The new isOpen method stresses that it's about the logical protocol, not the network socket. Change-Id: I84f093d91d7a21d20a8f3d14730c9f189ec35bde Reviewed-by: Kai Koehne <kai.koehne@digia.com>
-rw-r--r--src/libs/qmldebug/declarativetoolsclient.cpp30
-rw-r--r--src/libs/qmldebug/qmldebugclient.cpp10
-rw-r--r--src/libs/qmldebug/qmldebugclient.h2
-rw-r--r--src/libs/qmldebug/qmltoolsclient.cpp22
-rw-r--r--src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp4
5 files changed, 33 insertions, 35 deletions
diff --git a/src/libs/qmldebug/declarativetoolsclient.cpp b/src/libs/qmldebug/declarativetoolsclient.cpp
index 98304b85dd..a08a672f74 100644
--- a/src/libs/qmldebug/declarativetoolsclient.cpp
+++ b/src/libs/qmldebug/declarativetoolsclient.cpp
@@ -235,7 +235,7 @@ QList<int> DeclarativeToolsClient::currentObjects() const
void DeclarativeToolsClient::setCurrentObjects(const QList<int> &debugIds)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
if (debugIds == m_currentDebugIds)
@@ -289,7 +289,7 @@ void DeclarativeToolsClient::setObjectIdList(
void DeclarativeToolsClient::clearComponentCache()
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -308,7 +308,7 @@ void DeclarativeToolsClient::reload(const QHash<QString,
{
Q_UNUSED(changesHash);
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -324,7 +324,7 @@ void DeclarativeToolsClient::reload(const QHash<QString,
void DeclarativeToolsClient::setDesignModeBehavior(bool inDesignMode)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -341,7 +341,7 @@ void DeclarativeToolsClient::setDesignModeBehavior(bool inDesignMode)
void DeclarativeToolsClient::setAnimationSpeed(qreal slowDownFactor)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -359,7 +359,7 @@ void DeclarativeToolsClient::setAnimationSpeed(qreal slowDownFactor)
void DeclarativeToolsClient::setAnimationPaused(bool paused)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -376,7 +376,7 @@ void DeclarativeToolsClient::setAnimationPaused(bool paused)
void DeclarativeToolsClient::changeToSelectTool()
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -394,7 +394,7 @@ void DeclarativeToolsClient::changeToSelectTool()
void DeclarativeToolsClient::changeToSelectMarqueeTool()
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -412,7 +412,7 @@ void DeclarativeToolsClient::changeToSelectMarqueeTool()
void DeclarativeToolsClient::changeToZoomTool()
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -430,7 +430,7 @@ void DeclarativeToolsClient::changeToZoomTool()
void DeclarativeToolsClient::showAppOnTop(bool showOnTop)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -449,7 +449,7 @@ void DeclarativeToolsClient::createQmlObject(const QString &qmlText,
const QStringList &imports,
const QString &filename, int order)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -472,7 +472,7 @@ void DeclarativeToolsClient::createQmlObject(const QString &qmlText,
void DeclarativeToolsClient::destroyQmlObject(int debugId)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
QDataStream ds(&message, QIODevice::WriteOnly);
@@ -487,7 +487,7 @@ void DeclarativeToolsClient::destroyQmlObject(int debugId)
void DeclarativeToolsClient::reparentQmlObject(int debugId, int newParent)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
QDataStream ds(&message, QIODevice::WriteOnly);
@@ -506,7 +506,7 @@ void DeclarativeToolsClient::reparentQmlObject(int debugId, int newParent)
void DeclarativeToolsClient::applyChangesToQmlFile()
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
// TODO
@@ -514,7 +514,7 @@ void DeclarativeToolsClient::applyChangesToQmlFile()
void DeclarativeToolsClient::applyChangesFromQmlFile()
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
// TODO
diff --git a/src/libs/qmldebug/qmldebugclient.cpp b/src/libs/qmldebug/qmldebugclient.cpp
index d9cf8fa932..1a7f8656f8 100644
--- a/src/libs/qmldebug/qmldebugclient.cpp
+++ b/src/libs/qmldebug/qmldebugclient.cpp
@@ -82,7 +82,7 @@ QmlDebugConnectionPrivate::QmlDebugConnectionPrivate(QmlDebugConnection *c)
void QmlDebugConnectionPrivate::advertisePlugins()
{
- if (!q->isConnected() || !gotHello)
+ if (!q->isOpen())
return;
QPacket pack;
@@ -230,9 +230,9 @@ QmlDebugConnection::~QmlDebugConnection()
}
}
-bool QmlDebugConnection::isConnected() const
+bool QmlDebugConnection::isOpen() const
{
- return socketState() == QAbstractSocket::ConnectedState;
+ return socketState() == QAbstractSocket::ConnectedState && d->gotHello;
}
void QmlDebugConnection::close()
@@ -340,9 +340,7 @@ float QmlDebugClient::serviceVersion() const
QmlDebugClient::State QmlDebugClient::state() const
{
Q_D(const QmlDebugClient);
- if (!d->connection
- || !d->connection->isConnected()
- || !d->connection->d->gotHello)
+ if (!d->connection || !d->connection->isOpen())
return NotConnected;
if (d->connection->d->serverPlugins.contains(d->name))
diff --git a/src/libs/qmldebug/qmldebugclient.h b/src/libs/qmldebug/qmldebugclient.h
index e4109f97d7..c865f410a5 100644
--- a/src/libs/qmldebug/qmldebugclient.h
+++ b/src/libs/qmldebug/qmldebugclient.h
@@ -48,7 +48,7 @@ public:
void connectToHost(const QString &hostName, quint16 port);
- bool isConnected() const;
+ bool isOpen() const;
QAbstractSocket::SocketState socketState() const;
void close();
QString errorString() const;
diff --git a/src/libs/qmldebug/qmltoolsclient.cpp b/src/libs/qmldebug/qmltoolsclient.cpp
index d6d857e9ea..3607c51779 100644
--- a/src/libs/qmldebug/qmltoolsclient.cpp
+++ b/src/libs/qmldebug/qmltoolsclient.cpp
@@ -127,7 +127,7 @@ QList<int> QmlToolsClient::currentObjects() const
void QmlToolsClient::setCurrentObjects(const QList<int> &debugIds)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
if (debugIds == m_currentDebugIds)
@@ -153,7 +153,7 @@ void QmlToolsClient::setObjectIdList(
void QmlToolsClient::clearComponentCache()
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -168,7 +168,7 @@ void QmlToolsClient::clearComponentCache()
void QmlToolsClient::reload(const QHash<QString, QByteArray> &changesHash)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
m_reloadQueryId = m_requestId;
@@ -185,7 +185,7 @@ void QmlToolsClient::reload(const QHash<QString, QByteArray> &changesHash)
void QmlToolsClient::setDesignModeBehavior(bool inDesignMode)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -203,7 +203,7 @@ void QmlToolsClient::setDesignModeBehavior(bool inDesignMode)
void QmlToolsClient::setAnimationSpeed(qreal slowDownFactor)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -244,7 +244,7 @@ void QmlToolsClient::changeToZoomTool()
void QmlToolsClient::showAppOnTop(bool showOnTop)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -262,7 +262,7 @@ void QmlToolsClient::createQmlObject(const QString &qmlText,
const QStringList &imports,
const QString &filename, int order)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
@@ -284,7 +284,7 @@ void QmlToolsClient::createQmlObject(const QString &qmlText,
void QmlToolsClient::destroyQmlObject(int debugId)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
QDataStream ds(&message, QIODevice::WriteOnly);
@@ -299,7 +299,7 @@ void QmlToolsClient::destroyQmlObject(int debugId)
void QmlToolsClient::reparentQmlObject(int debugId, int newParent)
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
QByteArray message;
QDataStream ds(&message, QIODevice::WriteOnly);
@@ -315,7 +315,7 @@ void QmlToolsClient::reparentQmlObject(int debugId, int newParent)
void QmlToolsClient::applyChangesToQmlFile()
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
// TODO
@@ -323,7 +323,7 @@ void QmlToolsClient::applyChangesToQmlFile()
void QmlToolsClient::applyChangesFromQmlFile()
{
- if (!m_connection || !m_connection->isConnected())
+ if (!m_connection || !m_connection->isOpen())
return;
// TODO
diff --git a/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp b/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp
index 5501d50515..906573dde1 100644
--- a/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp
@@ -243,7 +243,7 @@ void QmlProfilerClientManager::connectToClient()
bool QmlProfilerClientManager::isConnected() const
{
- return d->connection && d->connection->isConnected();
+ return d->connection && d->connection->isOpen();
}
void QmlProfilerClientManager::disconnectClient()
@@ -260,7 +260,7 @@ void QmlProfilerClientManager::tryToConnect()
{
++d->connectionAttempts;
- if (d->connection && d->connection->isConnected()) {
+ if (d->connection && d->connection->isOpen()) {
d->connectionTimer.stop();
d->connectionAttempts = 0;
} else if (d->connectionAttempts == 50) {