7#include <private/qqmldebugserviceinterfaces_p.h>
20 loader->setProfiler(profiler);
29 profiler, &QQmlProfiler::startProfiling);
33 profiler, &QQmlProfiler::stopProfiling);
37 profiler, &QQmlProfiler::reportData);
39 profiler, &QQmlProfiler::setTimer);
40 connect(profiler, &QQmlProfiler::dataReady,
51 "You can use at most 31 message types.");
52 for (
quint32 decodedMessageType = 0; (
d.messageType >> decodedMessageType) != 0;
53 ++decodedMessageType) {
55 || (
d.messageType & (1 << decodedMessageType)) == 0) {
61 ds <<
d.time << decodedMessageType << static_cast<quint32>(
d.detailType);
62 if (
d.locationId != 0)
63 ds << static_cast<qint64>(
d.locationId);
67 ds <<
d.time << decodedMessageType << static_cast<quint32>(
d.detailType);
68 ds << (
i->url.isEmpty() ?
i->location.sourceFile :
i->url.toString())
69 <<
static_cast<qint32>(
i->location.line)
70 <<
static_cast<qint32>(
i->location.column);
73 ds << static_cast<qint64>(
d.locationId);
77 <<
static_cast<quint32>(
d.detailType)
78 << (
i->location.sourceFile.isEmpty() ?
i->url.toString() :
79 i->location.sourceFile);
81 ds << static_cast<qint64>(
d.locationId);
95 while (next !=
data.size()) {
96 const QQmlProfilerData &nextData =
data.at(next);
110 const QQmlProfiler::LocationHash &new_locations)
127#include "moc_qqmlprofileradapter.cpp"
qsizetype size() const noexcept
void append(parameter_type t)
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
QByteArray squeezedData() const
Returns a copy of the raw packet data, with extra reserved space removed.
void clear()
Clears the packet, discarding any data.
void setService(QQmlProfilerService *new_service)
void profilingEnabled(quint64 features)
void profilingEnabledWhileWaiting(quint64 features)
void referenceTimeKnown(const QElapsedTimer &timer)
QQmlProfilerService * service
static const int s_numMessagesPerBatch
void profilingDisabledWhileWaiting()
void receiveData(const QVector< QQmlProfilerData > &new_data, const QQmlProfiler::LocationHash &locations)
QQmlProfilerAdapter(QQmlProfilerService *service, QQmlEnginePrivate *engine)
qint64 sendMessages(qint64 until, QList< QByteArray > &messages) override
The QQmlTypeLoader class abstracts loading files and their dependencies over the network.
Combined button and popup list for selecting options.
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLuint const GLint * locations
static void qQmlProfilerDataToByteArrays(const QQmlProfilerData &d, QQmlProfiler::LocationHash &locations, QList< QByteArray > &messages)
#define Q_ASSERT_X(cond, x, msg)