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
helpers.h
Go to the documentation of this file.
1// Copyright (C) 2017 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Rafael Roquetto <rafael.roquetto@kdab.com>
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef HELPERS_H
5#define HELPERS_H
6
7#include "provider.h"
8
9#include <qlist.h>
10#include <qstring.h>
11#include <qtextstream.h>
12
13enum ParamType {
14 LTTNG,
15 ETW,
16 CTF
17};
18
19QString typeToTypeName(const QString &type);
20QString includeGuard(const QString &filename);
21QString formatFunctionSignature(const QList<Tracepoint::Argument> &args);
22QString formatParameterList(const Provider &provider, const QList<Tracepoint::Argument> &args, const QList<Tracepoint::Field> &fields, ParamType type);
23
24void writeCommonPrologue(QTextStream &stream);
25
26template <typename T>
27static QString aggregateListValues(int value, const QList<T> &list)
28{
29 QStringList values;
30 for (const T &l : list) {
31 if (l.value == value)
32 values << l.name;
33 }
34 return values.join(QLatin1Char('_'));
35}
36
37#endif // HELPERS_H
Definition qlist.h:80
\inmodule QtCore
Definition qtypeinfo.h:109
static constexpr bool isValueInitializationBitwiseZero
Definition qtypeinfo.h:116
static constexpr bool isIntegral
Definition qtypeinfo.h:115
static constexpr bool isPointer
Definition qtypeinfo.h:114
static constexpr bool isComplex
Definition qtypeinfo.h:112
static constexpr bool isRelocatable
Definition qtypeinfo.h:113
@ isValueInitializationBitwiseZero
Definition qtypeinfo.h:83
@ isValueInitializationBitwiseZero
Definition qtypeinfo.h:70
@ isRelocatable
Definition qtypeinfo.h:69
static void writeMetadataGenerators(QTextStream &stream)
Definition ctf.cpp:93
static void writeEpilogue(QTextStream &stream, const QString &fileName)
Definition ctf.cpp:49
static void writeWrapper(QTextStream &stream, const Tracepoint &tracepoint, const Provider &provider)
Definition ctf.cpp:56
static void writePrologue(QTextStream &stream, const QString &fileName, const Provider &provider)
Definition ctf.cpp:16
void writeCtf(QFile &device, const Provider &p)
Definition ctf.cpp:292
QT_FORWARD_DECLARE_CLASS(QTextStream)
void writeCommonPrologue(QTextStream &stream)
Definition helpers.cpp:9
QString typeToTypeName(const QString &type)
Definition helpers.cpp:14
static QString aggregateListValues(int value, const QList< T > &list)
Definition helpers.h:27
QString includeGuard(const QString &filename)
Definition helpers.cpp:20
QString formatFunctionSignature(const QList< Tracepoint::Argument > &args)
Definition helpers.cpp:50
QString formatParameterList(const Provider &provider, const QList< Tracepoint::Argument > &args, const QList< Tracepoint::Field > &fields, ParamType type)
Definition helpers.cpp:57
constexpr bool qIsRelocatable
Definition qtypeinfo.h:43
constexpr bool qIsValueInitializationBitwiseZero
Definition qtypeinfo.h:52
constexpr bool qIsComplex
Definition qtypeinfo.h:32
Provider parseProvider(const QString &filename)
Definition provider.cpp:292
#define qPrintable(string)
Definition qstring.h:1685
#define QStringLiteral(str)
Definition qstring.h:1826
#define Q_DECLARE_MOVABLE_CONTAINER(CONTAINER)
Definition qtypeinfo.h:130
#define Q_DECLARE_TYPEINFO(TYPE, FLAGS)
Definition qtypeinfo.h:189
#define Q_DECLARE_TYPEINFO_BODY(TYPE, FLAGS)
Definition qtypeinfo.h:172
@ Q_PRIMITIVE_TYPE
Definition qtypeinfo.h:166
@ Q_DUMMY_TYPE
Definition qtypeinfo.h:169
@ Q_RELOCATABLE_TYPE
Definition qtypeinfo.h:167
@ Q_COMPLEX_TYPE
Definition qtypeinfo.h:165
@ Q_MOVABLE_TYPE
Definition qtypeinfo.h:168
QStringList prefixText
Definition provider.h:85
QList< TraceEnum > enumerations
Definition provider.h:86
QList< TraceFlags > flags
Definition provider.h:87
QString name
Definition provider.h:83
QList< Tracepoint > tracepoints
Definition provider.h:84
int valueSize
Definition provider.h:63
QString name
Definition provider.h:56
QList< EnumValue > values
Definition provider.h:62
QString name
Definition provider.h:67
QList< FlagValue > values
Definition provider.h:72