Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qv4profileradapter.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant
4
5#ifndef QV4PROFILERADAPTER_P_H
6#define QV4PROFILERADAPTER_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
20
21#include <private/qv4profiling_p.h>
22#include <private/qqmlabstractprofileradapter_p.h>
23
24#include <QStack>
25#include <QList>
26
28
29class QQmlProfilerService;
32
33public:
35
36 virtual qint64 sendMessages(qint64 until, QList<QByteArray> &messages) override;
37
38 void receiveData(const QV4::Profiling::FunctionLocationHash &,
39 const QVector<QV4::Profiling::FunctionCallProperties> &,
40 const QVector<QV4::Profiling::MemoryAllocationProperties> &);
41
44 void v4ProfilingEnabledWhileWaiting(quint64 v4Features);
45
46private:
47 QV4::Profiling::FunctionLocationHash m_functionLocations;
48 QVector<QV4::Profiling::FunctionCallProperties> m_functionCallData;
49 QVector<QV4::Profiling::MemoryAllocationProperties> m_memoryData;
50 int m_functionCallPos;
51 int m_memoryPos;
52 QStack<qint64> m_stack;
53 qint64 appendMemoryEvents(qint64 until, QList<QByteArray> &messages, QQmlDebugPacket &d);
54 qint64 finalizeMessages(qint64 until, QList<QByteArray> &messages, qint64 callNext,
55 QQmlDebugPacket &d);
56 void forwardEnabled(quint64 features);
57 void forwardEnabledWhileWaiting(quint64 features);
58
59 static quint64 translateFeatures(quint64 qmlFeatures);
60};
61
62QT_END_NAMESPACE
63
64#endif // QV4PROFILERADAPTER_P_H
\inmodule QtCore
Definition qobject.h:105
void engineAboutToBeRemoved(QJSEngine *engine) override
void engineAdded(QJSEngine *engine) override
void messageReceived(const QByteArray &) override
void stateAboutToBeChanged(State state) override
void addGlobalProfiler(QQmlAbstractProfilerAdapter *profiler) override
void dataReady(QQmlAbstractProfilerAdapter *profiler) override
void engineRemoved(QJSEngine *engine) override
void stopProfiling(QJSEngine *engine) override
Stop profiling the given engine.
void removeGlobalProfiler(QQmlAbstractProfilerAdapter *profiler) override
void startProfiling(QJSEngine *engine, quint64 features=std::numeric_limits< quint64 >::max()) override
Start profiling the given engine.
void v4ProfilingEnabledWhileWaiting(quint64 v4Features)
void receiveData(const QV4::Profiling::FunctionLocationHash &, const QVector< QV4::Profiling::FunctionCallProperties > &, const QVector< QV4::Profiling::MemoryAllocationProperties > &)
virtual qint64 sendMessages(qint64 until, QList< QByteArray > &messages) override
Combined button and popup list for selecting options.