Commit ca5d9659 authored by Ulf Hermann's avatar Ulf Hermann

QmlProfiler: Provide stream operators for QmlEventType and QmlNote

This is the foundation for a new file format.

Change-Id: Ib5ae5bfe8b45d9dc654b443ab700186993c3bfc9
Reviewed-by: default avatarChristian Kandeler <christian.kandeler@theqtcompany.com>
parent 943fc80f
/****************************************************************************
**
** 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.
**
****************************************************************************/
#include "qmleventlocation.h"
#include <QDataStream>
namespace QmlProfiler {
QDataStream &operator>>(QDataStream &stream, QmlEventLocation &location)
{
return stream >> location.filename >> location.line >> location.column;
}
QDataStream &operator<<(QDataStream &stream, const QmlEventLocation &location)
{
return stream << location.filename << location.line << location.column;
}
} // namespace QmlProfiler
......@@ -42,4 +42,7 @@ struct QMLPROFILER_EXPORT QmlEventLocation
int column;
};
QDataStream &operator>>(QDataStream &stream, QmlEventLocation &location);
QDataStream &operator<<(QDataStream &stream, const QmlEventLocation &location);
} // namespace QmlProfiler
/****************************************************************************
**
** 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.
**
****************************************************************************/
#include "qmleventtype.h"
#include <QDataStream>
namespace QmlProfiler {
QDataStream &operator>>(QDataStream &stream, QmlEventType &type)
{
quint8 message;
quint8 rangeType;
stream >> type.displayName >> type.data >> type.location >> message >> rangeType
>> type.detailType;
type.message = static_cast<Message>(message);
type.rangeType = static_cast<RangeType>(rangeType);
return stream;
}
QDataStream &operator<<(QDataStream &stream, const QmlEventType &type)
{
return stream << type.displayName << type.data << type.location
<< static_cast<quint8>(type.message) << static_cast<quint8>(type.rangeType)
<< type.detailType;
}
} // namespace QmlProfiler
......@@ -48,6 +48,9 @@ struct QmlEventType {
int detailType; // can be EventType, BindingType, PixmapEventType or SceneGraphFrameType
};
QDataStream &operator>>(QDataStream &stream, QmlEventType &type);
QDataStream &operator<<(QDataStream &stream, const QmlEventType &type);
} // namespace QmlProfiler
Q_DECLARE_METATYPE(QmlProfiler::QmlEventType)
/****************************************************************************
**
** 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.
**
****************************************************************************/
#include "qmlnote.h"
#include <QDataStream>
namespace QmlProfiler {
QDataStream &operator>>(QDataStream &stream, QmlNote &note)
{
return stream >> note.typeIndex >> note.startTime >> note.duration >> note.text;
}
QDataStream &operator<<(QDataStream &stream, const QmlNote &note)
{
return stream << note.typeIndex << note.startTime << note.duration << note.text;
}
} // namespace QmlProfiler
......@@ -41,6 +41,9 @@ struct QmlNote {
QString text;
};
QDataStream &operator>>(QDataStream &stream, QmlNote &note);
QDataStream &operator<<(QDataStream &stream, const QmlNote &note);
} // namespace QmlProfiler
Q_DECLARE_METATYPE(QmlProfiler::QmlNote)
......@@ -13,6 +13,9 @@ SOURCES += \
localqmlprofilerrunner.cpp \
memoryusagemodel.cpp \
pixmapcachemodel.cpp \
qmleventlocation.cpp \
qmleventtype.cpp \
qmlnote.cpp \
qmlprofileranimationsmodel.cpp \
qmlprofilerattachdialog.cpp \
qmlprofilerbindingloopsrenderpass.cpp \
......
......@@ -28,8 +28,9 @@ QtcPlugin {
"memoryusagemodel.cpp", "memoryusagemodel.h",
"pixmapcachemodel.cpp", "pixmapcachemodel.h",
"qmlevent.h",
"qmleventlocation.h",
"qmleventtype.h", "qmlnote.h",
"qmleventlocation.cpp", "qmleventlocation.h",
"qmleventtype.cpp", "qmleventtype.h",
"qmlnote.cpp", "qmlnote.h",
"qmlprofiler_global.h",
"qmlprofileranimationsmodel.h", "qmlprofileranimationsmodel.cpp",
"qmlprofilerattachdialog.cpp", "qmlprofilerattachdialog.h",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment