summaryrefslogtreecommitdiff
path: root/src/plugins/qmlprofiler/qmlprofilertraceclient.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2016-05-02 12:18:57 +0200
committerUlf Hermann <ulf.hermann@qt.io>2016-05-03 15:00:50 +0000
commite5a38bacc4bcfd770f56122b86233ff35b0579ac (patch)
treedb03f5112d616cbab6f5b9401cf296fa759fa54b /src/plugins/qmlprofiler/qmlprofilertraceclient.h
parent08655de4a5891ab3a8fe07970c826958be7c52fc (diff)
downloadqt-creator-e5a38bacc4bcfd770f56122b86233ff35b0579ac.tar.gz
Move QmlProfiler specific files from qmldebug to qmlprofiler
These file were not used anywhere else and had no business to be in qmldebug to begin with. Moving them allows us to drop a number of namespace qualifications and forces us to rename a few local symbols in other classes in order to avoid name clashes. Change-Id: I658ed455eec027cbaddacf2980d2ea6827ae6205 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Diffstat (limited to 'src/plugins/qmlprofiler/qmlprofilertraceclient.h')
-rw-r--r--src/plugins/qmlprofiler/qmlprofilertraceclient.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/plugins/qmlprofiler/qmlprofilertraceclient.h b/src/plugins/qmlprofiler/qmlprofilertraceclient.h
new file mode 100644
index 0000000000..3d148a8315
--- /dev/null
+++ b/src/plugins/qmlprofiler/qmlprofilertraceclient.h
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+****************************************************************************/
+
+#pragma once
+
+#include "qmlprofilereventtypes.h"
+#include "qmlprofilereventlocation.h"
+#include "qmlprofiler_global.h"
+
+#include <qmldebug/qmldebugclient.h>
+
+#include <QStack>
+#include <QStringList>
+
+namespace QmlProfiler {
+
+class QMLDEBUG_EXPORT QmlProfilerTraceClient : public QmlDebug::QmlDebugClient
+{
+ Q_OBJECT
+ Q_PROPERTY(bool recording READ isRecording WRITE setRecording NOTIFY recordingChanged)
+
+ // don't hide by signal
+ using QObject::event;
+
+public:
+ QmlProfilerTraceClient(QmlDebug::QmlDebugConnection *client, quint64 features);
+ ~QmlProfilerTraceClient();
+
+ bool isRecording() const;
+ void setRecording(bool);
+ quint64 recordedFeatures() const;
+
+public slots:
+ void clearData();
+ void sendRecordingStatus(int engineId = -1);
+ void setRequestedFeatures(quint64 features);
+ void setFlushInterval(quint32 flushInterval);
+
+signals:
+ void complete(qint64 maximumTime);
+ void traceFinished(qint64 time, const QList<int> &engineIds);
+ void traceStarted(qint64 time, const QList<int> &engineIds);
+ void rangedEvent(Message, RangeType, int detailType, qint64 startTime, qint64 length,
+ const QString &data, const QmlEventLocation &location, qint64 param1,
+ qint64 param2, qint64 param3, qint64 param4, qint64 param5);
+ void debugMessage(QtMsgType type, qint64 timestamp, const QString &text,
+ const QmlEventLocation &location);
+ void recordingChanged(bool arg);
+ void recordedFeaturesChanged(quint64 features);
+ void newEngine(int engineId);
+
+ void cleared();
+
+protected:
+ virtual void stateChanged(State status);
+ virtual void messageReceived(const QByteArray &);
+
+private:
+ void setRecordingFromServer(bool);
+
+private:
+ class QmlProfilerTraceClientPrivate *d;
+};
+
+} // namespace QmlProfiler