diff options
author | Aurindam Jana <aurindam.jana@nokia.com> | 2012-04-23 09:23:23 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-26 11:46:06 +0200 |
commit | 7f7cd79e29e634ddff55fe18b122ac85c5cfe4a0 (patch) | |
tree | c6914c9a28eaec0e07309cfdfd60b9da0388912b /src/qml/debugger/qqmlenginedebugservice.cpp | |
parent | c0f07d5707180856bb2705359d780a836653188c (diff) |
QmlDebugging: Exchange supported QDataStream versions
Since the client and service needs to pack/unpack
datastreams, they need to encode/decode using the lowest common
QDataStream version.
Change-Id: I3b4886fece59b24950ba618da07a0fefd41a5637
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Diffstat (limited to 'src/qml/debugger/qqmlenginedebugservice.cpp')
-rw-r--r-- | src/qml/debugger/qqmlenginedebugservice.cpp | 45 |
1 files changed, 9 insertions, 36 deletions
diff --git a/src/qml/debugger/qqmlenginedebugservice.cpp b/src/qml/debugger/qqmlenginedebugservice.cpp index 588cbe2d1a..f837da578f 100644 --- a/src/qml/debugger/qqmlenginedebugservice.cpp +++ b/src/qml/debugger/qqmlenginedebugservice.cpp @@ -401,15 +401,16 @@ void QQmlEngineDebugService::messageReceived(const QByteArray &message) void QQmlEngineDebugService::processMessage(const QByteArray &message) { - QDataStream ds(message); + QQmlDebugStream ds(message); QByteArray type; int queryId; ds >> type >> queryId; + QByteArray reply; + QQmlDebugStream rs(&reply, QIODevice::WriteOnly); + if (type == "LIST_ENGINES") { - QByteArray reply; - QDataStream rs(&reply, QIODevice::WriteOnly); rs << QByteArray("LIST_ENGINES_R"); rs << queryId << m_engines.count(); @@ -422,7 +423,6 @@ void QQmlEngineDebugService::processMessage(const QByteArray &message) rs << engineName << engineId; } - sendMessage(reply); } else if (type == "LIST_OBJECTS") { int engineId = -1; ds >> engineId; @@ -430,8 +430,6 @@ void QQmlEngineDebugService::processMessage(const QByteArray &message) QQmlEngine *engine = qobject_cast<QQmlEngine *>(QQmlDebugService::objectForId(engineId)); - QByteArray reply; - QDataStream rs(&reply, QIODevice::WriteOnly); rs << QByteArray("LIST_OBJECTS_R") << queryId; if (engine) { @@ -448,7 +446,6 @@ void QQmlEngineDebugService::processMessage(const QByteArray &message) buildStatesList(true, ctxtPriv->instances); } - sendMessage(reply); } else if (type == "FETCH_OBJECT") { int objectId; bool recurse; @@ -458,8 +455,6 @@ void QQmlEngineDebugService::processMessage(const QByteArray &message) QObject *object = QQmlDebugService::objectForId(objectId); - QByteArray reply; - QDataStream rs(&reply, QIODevice::WriteOnly); rs << QByteArray("FETCH_OBJECT_R") << queryId; if (object) { @@ -468,18 +463,14 @@ void QQmlEngineDebugService::processMessage(const QByteArray &message) buildObjectDump(rs, object, recurse, dumpProperties); } - sendMessage(reply); } else if (type == "WATCH_OBJECT") { int objectId; ds >> objectId; bool ok = m_watch->addWatch(queryId, objectId); - QByteArray reply; - QDataStream rs(&reply, QIODevice::WriteOnly); rs << QByteArray("WATCH_OBJECT_R") << queryId << ok; - sendMessage(reply); } else if (type == "WATCH_PROPERTY") { int objectId; QByteArray property; @@ -487,11 +478,8 @@ void QQmlEngineDebugService::processMessage(const QByteArray &message) ds >> objectId >> property; bool ok = m_watch->addWatch(queryId, objectId, property); - QByteArray reply; - QDataStream rs(&reply, QIODevice::WriteOnly); rs << QByteArray("WATCH_PROPERTY_R") << queryId << ok; - sendMessage(reply); } else if (type == "WATCH_EXPR_OBJECT") { int debugId; QString expr; @@ -499,17 +487,13 @@ void QQmlEngineDebugService::processMessage(const QByteArray &message) ds >> debugId >> expr; bool ok = m_watch->addWatch(queryId, debugId, expr); - QByteArray reply; - QDataStream rs(&reply, QIODevice::WriteOnly); rs << QByteArray("WATCH_EXPR_OBJECT_R") << queryId << ok; - sendMessage(reply); + } else if (type == "NO_WATCH") { bool ok = m_watch->removeWatch(queryId); - QByteArray reply; - QDataStream rs(&reply, QIODevice::WriteOnly); rs << QByteArray("NO_WATCH_R") << queryId << ok; - sendMessage(reply); + } else if (type == "EVAL_EXPRESSION") { int objectId; QString expr; @@ -531,11 +515,8 @@ void QQmlEngineDebugService::processMessage(const QByteArray &message) result = QString(QStringLiteral("<unknown context>")); } - QByteArray reply; - QDataStream rs(&reply, QIODevice::WriteOnly); rs << QByteArray("EVAL_EXPRESSION_R") << queryId << result; - sendMessage(reply); } else if (type == "SET_BINDING") { int objectId; QString propertyName; @@ -548,22 +529,16 @@ void QQmlEngineDebugService::processMessage(const QByteArray &message) bool ok = setBinding(objectId, propertyName, expr, isLiteralValue, filename, line); - QByteArray reply; - QDataStream rs(&reply, QIODevice::WriteOnly); rs << QByteArray("SET_BINDING_R") << queryId << ok; - sendMessage(reply); } else if (type == "RESET_BINDING") { int objectId; QString propertyName; ds >> objectId >> propertyName; bool ok = resetBinding(objectId, propertyName); - QByteArray reply; - QDataStream rs(&reply, QIODevice::WriteOnly); rs << QByteArray("RESET_BINDING_R") << queryId << ok; - sendMessage(reply); } else if (type == "SET_METHOD_BODY") { int objectId; QString methodName; @@ -571,12 +546,10 @@ void QQmlEngineDebugService::processMessage(const QByteArray &message) ds >> objectId >> methodName >> methodBody; bool ok = setMethodBody(objectId, methodName, methodBody); - QByteArray reply; - QDataStream rs(&reply, QIODevice::WriteOnly); rs << QByteArray("SET_METHOD_BODY_R") << queryId << ok; - sendMessage(reply); } + sendMessage(reply); } bool QQmlEngineDebugService::setBinding(int objectId, @@ -720,7 +693,7 @@ bool QQmlEngineDebugService::setMethodBody(int objectId, const QString &method, void QQmlEngineDebugService::propertyChanged(int id, int objectId, const QMetaProperty &property, const QVariant &value) { QByteArray reply; - QDataStream rs(&reply, QIODevice::WriteOnly); + QQmlDebugStream rs(&reply, QIODevice::WriteOnly); rs << QByteArray("UPDATE_WATCH") << id << objectId << QByteArray(property.name()) << valueContents(value); @@ -753,7 +726,7 @@ void QQmlEngineDebugService::objectCreated(QQmlEngine *engine, QObject *object) int parentId = QQmlDebugService::idForObject(object->parent()); QByteArray reply; - QDataStream rs(&reply, QIODevice::WriteOnly); + QQmlDebugStream rs(&reply, QIODevice::WriteOnly); //unique queryId -1 rs << QByteArray("OBJECT_CREATED") << -1 << engineId << objectId << parentId; |