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 CALLBACK
18};
19
20QString typeToTypeName(const QString &type);
21QString includeGuard(const QString &filename);
22QString formatFunctionSignature(const QList<Tracepoint::Argument> &args);
23QString formatParameterList(const Provider &provider, const QList<Tracepoint::Argument> &args, const QList<Tracepoint::Field> &fields, ParamType type);
24
25void writeCommonPrologue(QTextStream &stream);
26
27template <typename T>
28static QString aggregateListValues(int value, const QList<T> &list)
29{
30 QStringList values;
31 for (const T &l : list) {
32 if (l.value == value)
33 values << l.name;
34 }
35 return values.join(QLatin1Char('_'));
36}
37
38#endif // HELPERS_H
static void writeEpilogue(QTextStream &stream, const QString &fileName)
Definition callback.cpp:44
void writeCallback(QFile &file, const Provider &provider)
Definition callback.cpp:96
static void writeWrapper(QTextStream &stream, const Tracepoint &tracepoint, const Provider &provider)
Definition callback.cpp:51
static void writePrologue(QTextStream &stream, const QString &fileName, const Provider &provider)
Definition callback.cpp:20
Definition qlist.h:81
\inmodule QtCore
Definition qtypeinfo.h:112
static constexpr bool isValueInitializationBitwiseZero
Definition qtypeinfo.h:119
static constexpr bool isIntegral
Definition qtypeinfo.h:118
static constexpr bool isPointer
Definition qtypeinfo.h:117
static constexpr bool isComplex
Definition qtypeinfo.h:115
static constexpr bool isRelocatable
Definition qtypeinfo.h:116
@ isValueInitializationBitwiseZero
Definition qtypeinfo.h:86
@ isValueInitializationBitwiseZero
Definition qtypeinfo.h:73
@ isRelocatable
Definition qtypeinfo.h:72
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:28
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
Combined button and popup list for selecting options.
constexpr bool qIsRelocatable
Definition qtypeinfo.h:44
constexpr bool qIsQtRelocatableContainer
Definition qtypeinfo.h:46
constexpr bool qIsValueInitializationBitwiseZero
Definition qtypeinfo.h:55
constexpr bool qIsComplex
Definition qtypeinfo.h:33
Provider parseProvider(const QString &filename)
Definition provider.cpp:292
#define QStringLiteral(str)
Definition qstring.h:1847
#define Q_DECLARE_MOVABLE_CONTAINER(CONTAINER)
Definition qtypeinfo.h:133
#define Q_DECLARE_TYPEINFO(TYPE, FLAGS)
Definition qtypeinfo.h:197
#define Q_DECLARE_TYPEINFO_BODY(TYPE, FLAGS)
Definition qtypeinfo.h:180
@ Q_PRIMITIVE_TYPE
Definition qtypeinfo.h:174
@ Q_DUMMY_TYPE
Definition qtypeinfo.h:177
@ Q_RELOCATABLE_TYPE
Definition qtypeinfo.h:175
@ Q_COMPLEX_TYPE
Definition qtypeinfo.h:173
@ Q_MOVABLE_TYPE
Definition qtypeinfo.h:176
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