QTDIR_build:REQUIRES += "contains(QT_CONFIG, qml)"
SOURCES += \
- qtcpserverconnection.cpp
+ qtcpserverconnection.cpp \
+ ../shared/qpacketprotocol.cpp
HEADERS += \
- qtcpserverconnection.h
+ qtcpserverconnection.h \
+ ../shared/qpacketprotocol.h
+
+INCLUDEPATH += ../shared
OTHER_FILES += qtcpserverconnection.json
****************************************************************************/
#include "qtcpserverconnection.h"
+#include "qpacketprotocol.h"
#include <QtCore/qplugin.h>
#include <QtNetwork/qtcpserver.h>
#include <QtNetwork/qtcpsocket.h>
#include <private/qqmldebugserver_p.h>
-#include <private/qpacketprotocol_p.h>
QT_BEGIN_NAMESPACE
**
****************************************************************************/
-#include "qpacketprotocol_p.h"
+#include "qpacketprotocol.h"
#include <QtCore/QBuffer>
#include <QtCore/QElapsedTimer>
#ifndef QPACKETPROTOCOL_H
#define QPACKETPROTOCOL_H
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
#include <QtCore/qobject.h>
#include <QtCore/qdatastream.h>
-#include <private/qtqmlglobal_p.h>
-
-QT_BEGIN_HEADER
-
QT_BEGIN_NAMESPACE
-
class QIODevice;
class QBuffer;
class QPacket;
class QPacketAutoSend;
class QPacketProtocolPrivate;
-class Q_QML_PRIVATE_EXPORT QPacketProtocol : public QObject
+class QPacketProtocol : public QObject
{
Q_OBJECT
public:
};
-class Q_QML_PRIVATE_EXPORT QPacket : public QDataStream
+class QPacket : public QDataStream
{
public:
QPacket();
QBuffer *buf;
};
-class Q_QML_PRIVATE_EXPORT QPacketAutoSend : public QPacket
+class QPacketAutoSend : public QPacket
{
public:
virtual ~QPacketAutoSend();
QT_END_NAMESPACE
-QT_END_HEADER
-
#endif
SOURCES += \
- $$PWD/qpacketprotocol.cpp \
$$PWD/qqmldebugservice.cpp \
$$PWD/qqmlprofilerservice.cpp \
$$PWD/qqmldebugserver.cpp \
$$PWD/qdebugmessageservice.cpp
HEADERS += \
- $$PWD/qpacketprotocol_p.h \
$$PWD/qqmldebugservice_p.h \
$$PWD/qqmldebugservice_p_p.h \
$$PWD/qqmlprofilerservice_p.h \
TEMPLATE = subdirs
-PRIVATETESTS += \
+PUBLICTESTS += \
qqmlenginedebugservice \
- qqmldebugclient \
- qqmldebugservice \
qqmldebugjs \
qqmlinspector \
qqmlprofilerservice \
qv8profilerservice \
qdebugmessageservice
+PRIVATETESTS += \
+ qqmldebugclient \
+ qqmldebugservice
+
+SUBDIRS += $$PUBLICTESTS
+
contains(QT_CONFIG, private_tests) {
SUBDIRS += $$PRIVATETESTS
}
CONFIG += testcase
TARGET = tst_qdebugmessageservice
-QT += network qml-private testlib
+QT += qml network testlib
macx:CONFIG -= app_bundle
SOURCES += tst_qdebugmessageservice.cpp
include(../shared/debugutil.pri)
CONFIG += parallel_test
-QT += qml-private network testlib
+QT += qml network testlib
#include <QDebug>
#include <QBuffer>
-#include <private/qpacketprotocol_p.h>
+#include "../../../../../src/plugins/qmltooling/shared/qpacketprotocol.h"
#include "debugutil_p.h"
TARGET = tst_qqmldebugclient
macx:CONFIG -= app_bundle
-SOURCES += tst_qqmldebugclient.cpp
+HEADERS += ../shared/qqmldebugtestservice.h
+
+SOURCES += tst_qqmldebugclient.cpp \
+ ../shared/qqmldebugtestservice.cpp
INCLUDEPATH += ../shared
include(../shared/debugutil.pri)
#include <QtQml/qqmlengine.h>
#include "debugutil_p.h"
+#include "qqmldebugtestservice.h"
#define PORT 13770
#define STR_PORT "13770"
CONFIG += testcase
TARGET = tst_qqmldebugjs
-QT += qml-private testlib
+QT += qml testlib
macx:CONFIG -= app_bundle
SOURCES += tst_qqmldebugjs.cpp
TARGET = tst_qqmldebugservice
macx:CONFIG -= app_bundle
-SOURCES += tst_qqmldebugservice.cpp
+HEADERS += ../shared/qqmldebugtestservice.h
+
+SOURCES += tst_qqmldebugservice.cpp \
+ ../shared/qqmldebugtestservice.cpp
+
INCLUDEPATH += ../shared
include(../../../shared/util.pri)
include(../shared/debugutil.pri)
#include <QtQml/qqmlengine.h>
-#include <private/qqmldebugservice_p.h>
-
#include "../../../shared/util.h"
#include "debugutil_p.h"
#include "qqmldebugclient.h"
+#include "qqmldebugtestservice.h"
#define PORT 13769
#define STR_PORT "13769"
CONFIG += parallel_test declarative_debug
-QT += qml-private testlib
+QT += qml testlib
CONFIG += parallel_test declarative_debug
-QT += core-private v8-private qml-private testlib
+QT += core qml testlib
#include <qtest.h>
#include <QLibraryInfo>
-#include "QtQml/private/qqmlprofilerservice_p.h"
#include "debugutil_p.h"
#include "qqmldebugclient.h"
#include "../../../shared/util.h"
#define PORT 13773
#define STR_PORT "13773"
+struct QQmlProfilerData
+{
+ qint64 time;
+ int messageType;
+ int detailType;
+
+ //###
+ QString detailData; //used by RangeData and RangeLocation
+ int line; //used by RangeLocation
+ int column; //used by RangeLocation
+ int framerate; //used by animation events
+ int animationcount; //used by animation events
+
+ QByteArray toByteArray() const;
+};
+
class QQmlProfilerClient : public QQmlDebugClient
{
Q_OBJECT
public:
+ enum Message {
+ Event,
+ RangeStart,
+ RangeData,
+ RangeLocation,
+ RangeEnd,
+ Complete, // end of transmission
+
+ MaximumMessage
+ };
+
+ enum EventType {
+ FramePaint,
+ Mouse,
+ Key,
+ AnimationFrame,
+ EndTrace,
+ StartTrace,
+
+ MaximumEventType
+ };
+
+ enum RangeType {
+ Painting,
+ Compiling,
+ Creating,
+ Binding, //running a binding
+ HandlingSignal, //running a signal handler
+
+ MaximumRangeType
+ };
+
QQmlProfilerClient(QQmlDebugConnection *connection)
: QQmlDebugClient(QLatin1String("CanvasFrameRate"), connection)
{
QVERIFY(data.time >= -1);
switch (data.messageType) {
- case (QQmlProfilerService::Event): {
+ case (QQmlProfilerClient::Event): {
stream >> data.detailType;
switch (data.detailType) {
- case QQmlProfilerService::AnimationFrame: {
+ case QQmlProfilerClient::AnimationFrame: {
stream >> data.framerate >> data.animationcount;
QVERIFY(data.framerate != -1);
QVERIFY(data.animationcount != -1);
break;
}
- case QQmlProfilerService::FramePaint:
- case QQmlProfilerService::Mouse:
- case QQmlProfilerService::Key:
- case QQmlProfilerService::StartTrace:
- case QQmlProfilerService::EndTrace:
+ case QQmlProfilerClient::FramePaint:
+ case QQmlProfilerClient::Mouse:
+ case QQmlProfilerClient::Key:
+ case QQmlProfilerClient::StartTrace:
+ case QQmlProfilerClient::EndTrace:
break;
default: {
QString failMsg = QString("Unknown event type:") + data.detailType;
}
break;
}
- case QQmlProfilerService::Complete: {
+ case QQmlProfilerClient::Complete: {
emit complete();
return;
}
- case QQmlProfilerService::RangeStart: {
+ case QQmlProfilerClient::RangeStart: {
stream >> data.detailType;
- QVERIFY(data.detailType >= 0 && data.detailType < QQmlProfilerService::MaximumRangeType);
+ QVERIFY(data.detailType >= 0 && data.detailType < QQmlProfilerClient::MaximumRangeType);
break;
}
- case QQmlProfilerService::RangeEnd: {
+ case QQmlProfilerClient::RangeEnd: {
stream >> data.detailType;
- QVERIFY(data.detailType >= 0 && data.detailType < QQmlProfilerService::MaximumRangeType);
+ QVERIFY(data.detailType >= 0 && data.detailType < QQmlProfilerClient::MaximumRangeType);
break;
}
- case QQmlProfilerService::RangeData: {
+ case QQmlProfilerClient::RangeData: {
stream >> data.detailType >> data.detailData;
- QVERIFY(data.detailType >= 0 && data.detailType < QQmlProfilerService::MaximumRangeType);
+ QVERIFY(data.detailType >= 0 && data.detailType < QQmlProfilerClient::MaximumRangeType);
break;
}
- case QQmlProfilerService::RangeLocation: {
+ case QQmlProfilerClient::RangeLocation: {
stream >> data.detailType >> data.detailData >> data.line >> data.column;
- QVERIFY(data.detailType >= 0 && data.detailType < QQmlProfilerService::MaximumRangeType);
+ QVERIFY(data.detailType >= 0 && data.detailType < QQmlProfilerClient::MaximumRangeType);
QVERIFY(data.line >= -2);
break;
}
QVERIFY(m_client->traceMessages.count());
// must start with "StartTrace"
- QCOMPARE(m_client->traceMessages.first().messageType, (int)QQmlProfilerService::Event);
- QCOMPARE(m_client->traceMessages.first().detailType, (int)QQmlProfilerService::StartTrace);
+ QCOMPARE(m_client->traceMessages.first().messageType, (int)QQmlProfilerClient::Event);
+ QCOMPARE(m_client->traceMessages.first().detailType, (int)QQmlProfilerClient::StartTrace);
// must end with "EndTrace"
- QCOMPARE(m_client->traceMessages.last().messageType, (int)QQmlProfilerService::Event);
- QCOMPARE(m_client->traceMessages.last().detailType, (int)QQmlProfilerService::EndTrace);
+ QCOMPARE(m_client->traceMessages.last().messageType, (int)QQmlProfilerClient::Event);
+ QCOMPARE(m_client->traceMessages.last().detailType, (int)QQmlProfilerClient::EndTrace);
}
void tst_QQmlProfilerService::blockingConnectWithTraceDisabled()
QVERIFY(m_client->traceMessages.count());
// must start with "StartTrace"
- QCOMPARE(m_client->traceMessages.first().messageType, (int)QQmlProfilerService::Event);
- QCOMPARE(m_client->traceMessages.first().detailType, (int)QQmlProfilerService::StartTrace);
+ QCOMPARE(m_client->traceMessages.first().messageType, (int)QQmlProfilerClient::Event);
+ QCOMPARE(m_client->traceMessages.first().detailType, (int)QQmlProfilerClient::StartTrace);
// must end with "EndTrace"
- QCOMPARE(m_client->traceMessages.last().messageType, (int)QQmlProfilerService::Event);
- QCOMPARE(m_client->traceMessages.last().detailType, (int)QQmlProfilerService::EndTrace);
+ QCOMPARE(m_client->traceMessages.last().messageType, (int)QQmlProfilerClient::Event);
+ QCOMPARE(m_client->traceMessages.last().detailType, (int)QQmlProfilerClient::EndTrace);
}
void tst_QQmlProfilerService::nonBlockingConnect()
}
// must start with "StartTrace"
- QCOMPARE(m_client->traceMessages.first().messageType, (int)QQmlProfilerService::Event);
- QCOMPARE(m_client->traceMessages.first().detailType, (int)QQmlProfilerService::StartTrace);
+ QCOMPARE(m_client->traceMessages.first().messageType, (int)QQmlProfilerClient::Event);
+ QCOMPARE(m_client->traceMessages.first().detailType, (int)QQmlProfilerClient::StartTrace);
// must end with "EndTrace"
- QCOMPARE(m_client->traceMessages.last().messageType, (int)QQmlProfilerService::Event);
- QCOMPARE(m_client->traceMessages.last().detailType, (int)QQmlProfilerService::EndTrace);
+ QCOMPARE(m_client->traceMessages.last().messageType, (int)QQmlProfilerClient::Event);
+ QCOMPARE(m_client->traceMessages.last().detailType, (int)QQmlProfilerClient::EndTrace);
}
void tst_QQmlProfilerService::profileOnExit()
}
// must start with "StartTrace"
- QCOMPARE(m_client->traceMessages.first().messageType, (int)QQmlProfilerService::Event);
- QCOMPARE(m_client->traceMessages.first().detailType, (int)QQmlProfilerService::StartTrace);
+ QCOMPARE(m_client->traceMessages.first().messageType, (int)QQmlProfilerClient::Event);
+ QCOMPARE(m_client->traceMessages.first().detailType, (int)QQmlProfilerClient::StartTrace);
// must end with "EndTrace"
- QCOMPARE(m_client->traceMessages.last().messageType, (int)QQmlProfilerService::Event);
- QCOMPARE(m_client->traceMessages.last().detailType, (int)QQmlProfilerService::EndTrace);
+ QCOMPARE(m_client->traceMessages.last().messageType, (int)QQmlProfilerClient::Event);
+ QCOMPARE(m_client->traceMessages.last().detailType, (int)QQmlProfilerClient::EndTrace);
}
QTEST_MAIN(tst_QQmlProfilerService)
CONFIG += parallel_test declarative_debug
-QT += qml-private testlib
+QT += qml testlib
#include <qtest.h>
#include <QLibraryInfo>
-#include "QtQml/private/qv8profilerservice_p.h"
#include "debugutil_p.h"
#include "qqmldebugclient.h"
#include "../../../shared/util.h"
#define PORT 13774
#define STR_PORT "13774"
+struct QV8ProfilerData
+{
+ int messageType;
+ QString filename;
+ QString functionname;
+ int lineNumber;
+ double totalTime;
+ double selfTime;
+ int treeLevel;
+
+ QByteArray toByteArray() const;
+};
+
class QV8ProfilerClient : public QQmlDebugClient
{
Q_OBJECT
public:
+ enum MessageType {
+ V8Entry,
+ V8Complete,
+ V8SnapshotChunk,
+ V8SnapshotComplete,
+ V8Started,
+
+ V8MaximumMessage
+ };
+
QV8ProfilerClient(QQmlDebugConnection *connection)
: QQmlDebugClient(QLatin1String("V8Profiler"), connection)
{
stream >> messageType;
QVERIFY(messageType >= 0);
- QVERIFY(messageType < QV8ProfilerService::V8MaximumMessage);
+ QVERIFY(messageType < QV8ProfilerClient::V8MaximumMessage);
switch (messageType) {
- case QV8ProfilerService::V8Entry: {
+ case QV8ProfilerClient::V8Entry: {
QV8ProfilerData entry;
stream >> entry.filename >> entry.functionname >> entry.lineNumber >> entry.totalTime >> entry.selfTime >> entry.treeLevel;
traceMessages.append(entry);
break;
}
- case QV8ProfilerService::V8Complete:
+ case QV8ProfilerClient::V8Complete:
emit complete();
break;
- case QV8ProfilerService::V8SnapshotChunk: {
+ case QV8ProfilerClient::V8SnapshotChunk: {
QByteArray json;
stream >> json;
snapshotMessages.append(json);
break;
}
- case QV8ProfilerService::V8SnapshotComplete:
+ case QV8ProfilerClient::V8SnapshotComplete:
emit snapshot();
break;
- case QV8ProfilerService::V8Started:
+ case QV8ProfilerClient::V8Started:
emit started();
break;
default:
return timer.isActive();
}
-QQmlDebugTestService::QQmlDebugTestService(const QString &s, float version, QObject *parent)
- : QQmlDebugService(s, version, parent)
-{
- registerService();
-}
-
-void QQmlDebugTestService::messageReceived(const QByteArray &ba)
-{
- sendMessage(ba);
-}
-
-void QQmlDebugTestService::stateChanged(State)
-{
- emit stateHasChanged();
-}
-
-
QQmlDebugTestClient::QQmlDebugTestClient(const QString &s, QQmlDebugConnection *c)
: QQmlDebugClient(s, c)
{
-QT += core-private
-
HEADERS += $$PWD/debugutil_p.h \
$$PWD/qqmldebugclient.h \
- $$PWD/qqmlenginedebug_p.h
+ $$PWD/qqmlenginedebug_p.h \
+ $$PWD/../../../../../src/plugins/qmltooling/shared/qpacketprotocol.h
+
SOURCES += $$PWD/debugutil.cpp \
$$PWD/qqmldebugclient.cpp \
- $$PWD/qqmlenginedebug.cpp
+ $$PWD/qqmlenginedebug.cpp \
+ $$PWD/../../../../../src/plugins/qmltooling/shared/qpacketprotocol.cpp
#include <QtQml/qqmlengine.h>
#include "qqmldebugclient.h"
-#include <private/qqmldebugservice_p.h>
class QQmlDebugTest
{
static bool waitForSignal(QObject *receiver, const char *member, int timeout = 5000);
};
-class QQmlDebugTestService : public QQmlDebugService
-{
- Q_OBJECT
-public:
- QQmlDebugTestService(const QString &s, float version = 1, QObject *parent = 0);
-
-signals:
- void stateHasChanged();
-
-protected:
- virtual void messageReceived(const QByteArray &ba);
- virtual void stateChanged(State state);
-};
-
class QQmlDebugTestClient : public QQmlDebugClient
{
Q_OBJECT
****************************************************************************/
#include "qqmldebugclient.h"
-
-#include <private/qpacketprotocol_p.h>
+#include "../../../../../src/plugins/qmltooling/shared/qpacketprotocol.h"
#include <QtCore/qdebug.h>
#include <QtCore/qstringlist.h>
#include <QtNetwork/qtcpsocket.h>
-#include <private/qtqmlglobal_p.h>
-
class QQmlDebugConnectionPrivate;
class QQmlDebugConnection : public QIODevice
{
class QQmlDebugClient : public QObject
{
Q_OBJECT
- Q_DECLARE_PRIVATE(QQmlDebugClient)
Q_DISABLE_COPY(QQmlDebugClient)
public:
--- /dev/null
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qqmldebugtestservice.h"
+
+QQmlDebugTestService::QQmlDebugTestService(const QString &s, float version, QObject *parent)
+ : QQmlDebugService(s, version, parent)
+{
+ registerService();
+}
+
+void QQmlDebugTestService::messageReceived(const QByteArray &ba)
+{
+ sendMessage(ba);
+}
+
+void QQmlDebugTestService::stateChanged(State)
+{
+ emit stateHasChanged();
+}
--- /dev/null
+
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QQMLDEBUGTESTSERVICE_H
+#define QQMLDEBUGTESTSERVICE_H
+
+#include <private/qqmldebugservice_p.h>
+
+class QQmlDebugTestService : public QQmlDebugService
+{
+ Q_OBJECT
+public:
+ QQmlDebugTestService(const QString &s, float version = 1, QObject *parent = 0);
+
+signals:
+ void stateHasChanged();
+
+protected:
+ virtual void messageReceived(const QByteArray &ba);
+ virtual void stateChanged(State state);
+};
+
+#endif // QQMLDEBUGTESTSERVICE_H
#include "qqmldebugclient.h"
-#include <private/qqmlenginedebugservice_p.h>
+struct QmlObjectData {
+ QUrl url;
+ int lineNumber;
+ int columnNumber;
+ QString idString;
+ QString objectName;
+ QString objectType;
+ int objectId;
+ int contextId;
+};
+
+QDataStream &operator>>(QDataStream &ds, QmlObjectData &data)
+{
+ ds >> data.url >> data.lineNumber >> data.columnNumber >> data.idString
+ >> data.objectName >> data.objectType >> data.objectId >> data.contextId;
+ return ds;
+}
+
+struct QmlObjectProperty {
+ enum Type { Unknown, Basic, Object, List, SignalProperty };
+ Type type;
+ QString name;
+ QVariant value;
+ QString valueTypeName;
+ QString binding;
+ bool hasNotifySignal;
+};
-#include <QtCore/private/qobject_p.h>
+QDataStream &operator>>(QDataStream &ds, QmlObjectProperty &data)
+{
+ int type;
+ ds >> type >> data.name >> data.value >> data.valueTypeName
+ >> data.binding >> data.hasNotifySignal;
+ data.type = (QmlObjectProperty::Type)type;
+ return ds;
+}
class QQmlEngineDebugClient : public QQmlDebugClient
{
friend class QQmlEngineDebugPrivate;
};
-class QQmlEngineDebugPrivate : public QObjectPrivate
+class QQmlEngineDebugPrivate
{
- Q_DECLARE_PUBLIC(QQmlEngineDebug)
public:
- QQmlEngineDebugPrivate(QQmlDebugConnection *);
+ QQmlEngineDebugPrivate(QQmlEngineDebug *, QQmlDebugConnection *);
~QQmlEngineDebugPrivate();
void stateChanged(QQmlEngineDebug::State status);
void message(const QByteArray &);
+ QQmlEngineDebug *q;
QQmlEngineDebugClient *client;
int nextId;
int getId();
priv->message(data);
}
-QQmlEngineDebugPrivate::QQmlEngineDebugPrivate(QQmlDebugConnection *c)
- : client(new QQmlEngineDebugClient(c, this)), nextId(0)
+QQmlEngineDebugPrivate::QQmlEngineDebugPrivate(QQmlEngineDebug *p, QQmlDebugConnection *c)
+ : q(p),
+ client(new QQmlEngineDebugClient(c, this)), nextId(0)
{
}
void QQmlEngineDebugPrivate::remove(QQmlEngineDebug *c, QQmlDebugEnginesQuery *q)
{
if (c && q) {
- QQmlEngineDebugPrivate *p = (QQmlEngineDebugPrivate *)QObjectPrivate::get(c);
+ QQmlEngineDebugPrivate *p = c->getPrivate();
p->enginesQuery.remove(q->m_queryId);
}
}
QQmlDebugRootContextQuery *q)
{
if (c && q) {
- QQmlEngineDebugPrivate *p = (QQmlEngineDebugPrivate *)QObjectPrivate::get(c);
+ QQmlEngineDebugPrivate *p = c->getPrivate();
p->rootContextQuery.remove(q->m_queryId);
}
}
void QQmlEngineDebugPrivate::remove(QQmlEngineDebug *c, QQmlDebugObjectQuery *q)
{
if (c && q) {
- QQmlEngineDebugPrivate *p = (QQmlEngineDebugPrivate *)QObjectPrivate::get(c);
+ QQmlEngineDebugPrivate *p = c->getPrivate();
p->objectQuery.remove(q->m_queryId);
}
}
void QQmlEngineDebugPrivate::remove(QQmlEngineDebug *c, QQmlDebugExpressionQuery *q)
{
if (c && q) {
- QQmlEngineDebugPrivate *p = (QQmlEngineDebugPrivate *)QObjectPrivate::get(c);
+ QQmlEngineDebugPrivate *p = c->getPrivate();
p->expressionQuery.remove(q->m_queryId);
}
}
void QQmlEngineDebugPrivate::remove(QQmlEngineDebug *c, QQmlDebugWatch *w)
{
if (c && w) {
- QQmlEngineDebugPrivate *p = (QQmlEngineDebugPrivate *)QObjectPrivate::get(c);
+ QQmlEngineDebugPrivate *p = c->getPrivate();
p->watched.remove(w->m_queryId);
}
}
void QQmlEngineDebugPrivate::decode(QDataStream &ds, QQmlDebugObjectReference &o,
bool simple)
{
- QQmlEngineDebugService::QQmlObjectData data;
+ QmlObjectData data;
ds >> data;
o.m_debugId = data.objectId;
o.m_class = data.objectType;
ds >> propCount;
for (int ii = 0; ii < propCount; ++ii) {
- QQmlEngineDebugService::QQmlObjectProperty data;
+ QmlObjectProperty data;
ds >> data;
QQmlDebugPropertyReference prop;
prop.m_objectDebugId = o.m_debugId;
prop.m_hasNotifySignal = data.hasNotifySignal;
prop.m_valueTypeName = data.valueTypeName;
switch (data.type) {
- case QQmlEngineDebugService::QQmlObjectProperty::Basic:
- case QQmlEngineDebugService::QQmlObjectProperty::List:
- case QQmlEngineDebugService::QQmlObjectProperty::SignalProperty:
+ case QmlObjectProperty::Basic:
+ case QmlObjectProperty::List:
+ case QmlObjectProperty::SignalProperty:
{
prop.m_value = data.value;
break;
}
- case QQmlEngineDebugService::QQmlObjectProperty::Object:
+ case QmlObjectProperty::Object:
{
QQmlDebugObjectReference obj;
obj.m_debugId = prop.m_value.toInt();
prop.m_value = QVariant::fromValue(obj);
break;
}
- case QQmlEngineDebugService::QQmlObjectProperty::Unknown:
+ case QmlObjectProperty::Unknown:
break;
}
o.m_properties << prop;
void QQmlEngineDebugPrivate::stateChanged(QQmlEngineDebug::State status)
{
- emit q_func()->stateChanged(status);
+ emit q->stateChanged(status);
}
void QQmlEngineDebugPrivate::message(const QByteArray &data)
return;
emit watch->valueChanged(name, value);
} else if (type == "OBJECT_CREATED") {
- emit q_func()->newObjects();
+ emit q->newObjects();
}
}
QQmlEngineDebug::QQmlEngineDebug(QQmlDebugConnection *client, QObject *parent)
- : QObject(*(new QQmlEngineDebugPrivate(client)), parent)
+ : QObject(parent),
+ d(new QQmlEngineDebugPrivate(this, client))
{
}
QQmlEngineDebug::~QQmlEngineDebug()
{
+ delete d;
}
QQmlEngineDebug::State QQmlEngineDebug::state() const
{
- Q_D(const QQmlEngineDebug);
-
return static_cast<QQmlEngineDebug::State>(d->client->state());
}
QQmlDebugPropertyWatch *QQmlEngineDebug::addWatch(const QQmlDebugPropertyReference &property, QObject *parent)
{
- Q_D(QQmlEngineDebug);
-
QQmlDebugPropertyWatch *watch = new QQmlDebugPropertyWatch(parent);
if (d->client->state() == QQmlDebugClient::Enabled) {
int queryId = d->getId();
QQmlDebugObjectExpressionWatch *QQmlEngineDebug::addWatch(const QQmlDebugObjectReference &object, const QString &expr, QObject *parent)
{
- Q_D(QQmlEngineDebug);
QQmlDebugObjectExpressionWatch *watch = new QQmlDebugObjectExpressionWatch(parent);
if (d->client->state() == QQmlDebugClient::Enabled) {
int queryId = d->getId();
QQmlDebugWatch *QQmlEngineDebug::addWatch(const QQmlDebugObjectReference &object, QObject *parent)
{
- Q_D(QQmlEngineDebug);
-
QQmlDebugWatch *watch = new QQmlDebugWatch(parent);
if (d->client->state() == QQmlDebugClient::Enabled) {
int queryId = d->getId();
void QQmlEngineDebug::removeWatch(QQmlDebugWatch *watch)
{
- Q_D(QQmlEngineDebug);
-
if (!watch || !watch->m_client)
return;
QQmlDebugEnginesQuery *QQmlEngineDebug::queryAvailableEngines(QObject *parent)
{
- Q_D(QQmlEngineDebug);
-
QQmlDebugEnginesQuery *query = new QQmlDebugEnginesQuery(parent);
if (d->client->state() == QQmlDebugClient::Enabled) {
query->m_client = this;
QQmlDebugRootContextQuery *QQmlEngineDebug::queryRootContexts(const QQmlDebugEngineReference &engine, QObject *parent)
{
- Q_D(QQmlEngineDebug);
-
QQmlDebugRootContextQuery *query = new QQmlDebugRootContextQuery(parent);
if (d->client->state() == QQmlDebugClient::Enabled && engine.debugId() != -1) {
query->m_client = this;
QQmlDebugObjectQuery *QQmlEngineDebug::queryObject(const QQmlDebugObjectReference &object, QObject *parent)
{
- Q_D(QQmlEngineDebug);
-
QQmlDebugObjectQuery *query = new QQmlDebugObjectQuery(parent);
if (d->client->state() == QQmlDebugClient::Enabled && object.debugId() != -1) {
query->m_client = this;
QQmlDebugObjectQuery *QQmlEngineDebug::queryObjectRecursive(const QQmlDebugObjectReference &object, QObject *parent)
{
- Q_D(QQmlEngineDebug);
-
QQmlDebugObjectQuery *query = new QQmlDebugObjectQuery(parent);
if (d->client->state() == QQmlDebugClient::Enabled && object.debugId() != -1) {
query->m_client = this;
QQmlDebugExpressionQuery *QQmlEngineDebug::queryExpressionResult(int objectDebugId, const QString &expr, QObject *parent)
{
- Q_D(QQmlEngineDebug);
-
QQmlDebugExpressionQuery *query = new QQmlDebugExpressionQuery(parent);
if (d->client->state() == QQmlDebugClient::Enabled && objectDebugId != -1) {
query->m_client = this;
bool isLiteralValue,
QString source, int line)
{
- Q_D(QQmlEngineDebug);
-
if (d->client->state() == QQmlDebugClient::Enabled && objectDebugId != -1) {
QByteArray message;
QDataStream ds(&message, QIODevice::WriteOnly);
bool QQmlEngineDebug::resetBindingForObject(int objectDebugId, const QString &propertyName)
{
- Q_D(QQmlEngineDebug);
-
if (d->client->state() == QQmlDebugClient::Enabled && objectDebugId != -1) {
QByteArray message;
QDataStream ds(&message, QIODevice::WriteOnly);
bool QQmlEngineDebug::setMethodBody(int objectDebugId, const QString &methodName,
const QString &methodBody)
{
- Q_D(QQmlEngineDebug);
-
if (d->client->state() == QQmlDebugClient::Enabled && objectDebugId != -1) {
QByteArray message;
QDataStream ds(&message, QIODevice::WriteOnly);
#ifndef QQMLENGINEDEBUG_H
#define QQMLENGINEDEBUG_H
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
#include <QtCore/qobject.h>
#include <QtCore/qurl.h>
#include <QtCore/qvariant.h>
-#include <private/qtqmlglobal_p.h>
-
class QQmlDebugConnection;
class QQmlDebugWatch;
class QQmlDebugPropertyWatch;
bool resetBindingForObject(int objectDebugId, const QString &propertyName);
bool setMethodBody(int objectDebugId, const QString &methodName, const QString &methodBody);
+ QQmlEngineDebugPrivate *getPrivate() const { return d; }
+
Q_SIGNALS:
void newObjects();
void stateChanged(State state);
private:
- Q_DECLARE_PRIVATE(QQmlEngineDebug)
+ QQmlEngineDebugPrivate *d;
};
class QQmlDebugWatch : public QObject
commandlistener.cpp \
qqmldebugclient.cpp \
qmlprofilerdata.cpp \
- qmlprofilerclient.cpp
+ qmlprofilerclient.cpp \
+ qpacketprotocol.cpp
HEADERS += \
qmlprofilerapplication.h \
qmlprofilerdata.h \
qmlprofilerclient.h \
qmlprofilereventlocation.h \
- qqmldebugclient.h
+ qqmldebugclient.h \
+ qpacketprotocol.h
**
****************************************************************************/
-#include "qpacketprotocol_p.h"
+#include "qpacketprotocol.h"
#include <QtCore/QBuffer>
#include <QtCore/QElapsedTimer>
-QT_BEGIN_NAMESPACE
-
static const unsigned int MAX_PACKET_SIZE = 0x7FFFFFFF;
/*!
p->send(*this);
}
-QT_END_NAMESPACE
-
#include <qpacketprotocol.moc>
#ifndef QPACKETPROTOCOL_H
#define QPACKETPROTOCOL_H
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
#include <QtCore/qobject.h>
#include <QtCore/qdatastream.h>
-#include <private/qtqmlglobal_p.h>
-
-QT_BEGIN_HEADER
-
QT_BEGIN_NAMESPACE
-
-
class QIODevice;
class QBuffer;
+QT_END_NAMESPACE
class QPacket;
class QPacketAutoSend;
class QPacketProtocolPrivate;
-class Q_QML_PRIVATE_EXPORT QPacketProtocol : public QObject
+class QPacketProtocol : public QObject
{
Q_OBJECT
public:
};
-class Q_QML_PRIVATE_EXPORT QPacket : public QDataStream
+class QPacket : public QDataStream
{
public:
QPacket();
QBuffer *buf;
};
-class Q_QML_PRIVATE_EXPORT QPacketAutoSend : public QPacket
+class QPacketAutoSend : public QPacket
{
public:
virtual ~QPacketAutoSend();
QPacketProtocol *p;
};
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
#endif
****************************************************************************/
#include "qqmldebugclient.h"
-
-#include <private/qpacketprotocol_p.h>
+#include "qpacketprotocol.h"
#include <QtCore/qdebug.h>
#include <QtCore/qstringlist.h>