Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
provider.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
PROVIDER_H
5
#
define
PROVIDER_H
6
7
#
include
<
qlist
.
h
>
8
#
include
<
qstring
.
h
>
9
#
include
<
qstringlist
.
h
>
10
#
include
<
qtypeinfo
.
h
>
11
12
struct
Tracepoint
13
{
14
struct
Argument
15
{
16
QString type;
17
QString name;
18
int
arrayLen;
19
};
20
21
struct
Field
22
{
23
enum
Type {
24
Sequence,
25
Boolean,
26
Integer,
27
IntegerHex,
28
Float,
29
String,
30
Pointer,
31
QtString,
32
QtByteArray,
33
QtUrl,
34
QtRect,
35
QtSize,
36
QtRectF,
37
QtSizeF,
38
EnumeratedType,
39
FlagType,
40
Unknown
41
};
42
Type backendType;
43
QString paramType;
44
QString name;
45
int
arrayLen;
46
int
enumValueSize;
47
QString seqLen;
48
};
49
50
QString name;
51
QList<Argument> args;
52
QList<Field> fields;
53
};
54
55
struct
TraceEnum
{
56
QString
name
;
57
struct
EnumValue
{
58
QString
name
;
59
int
value
;
60
int
range
;
61
};
62
QList
<
EnumValue
>
values
;
63
int
valueSize
;
64
};
65
66
struct
TraceFlags
{
67
QString
name
;
68
struct
FlagValue
{
69
QString
name
;
70
int
value
;
71
};
72
QList
<
FlagValue
>
values
;
73
};
74
75
Q_DECLARE_TYPEINFO
(TraceEnum, Q_RELOCATABLE_TYPE);
76
Q_DECLARE_TYPEINFO
(TraceFlags, Q_RELOCATABLE_TYPE);
77
Q_DECLARE_TYPEINFO
(Tracepoint::Argument, Q_RELOCATABLE_TYPE);
78
Q_DECLARE_TYPEINFO
(Tracepoint::Field, Q_RELOCATABLE_TYPE);
79
Q_DECLARE_TYPEINFO
(Tracepoint, Q_RELOCATABLE_TYPE);
80
81
struct
Provider
82
{
83
QString
name
;
84
QList
<Tracepoint>
tracepoints
;
85
QStringList
prefixText
;
86
QList
<
TraceEnum
>
enumerations
;
87
QList
<
TraceFlags
>
flags
;
88
};
89
90
Provider
parseProvider
(
const
QString &filename);
91
92
#
endif
// PROVIDER_H
writeEpilogue
static void writeEpilogue(QTextStream &stream, const QString &fileName)
Definition
callback.cpp:44
writeCallback
void writeCallback(QFile &file, const Provider &provider)
Definition
callback.cpp:96
writeWrapper
static void writeWrapper(QTextStream &stream, const Tracepoint &tracepoint, const Provider &provider)
Definition
callback.cpp:51
writePrologue
static void writePrologue(QTextStream &stream, const QString &fileName, const Provider &provider)
Definition
callback.cpp:20
QList
Definition
qlist.h:82
parseProvider
Provider parseProvider(const QString &filename)
Definition
provider.cpp:292
QStringLiteral
#define QStringLiteral(str)
Definition
qstring.h:1865
Q_DECLARE_TYPEINFO
#define Q_DECLARE_TYPEINFO(TYPE, FLAGS)
Definition
qtypeinfo.h:197
Provider
Definition
provider.h:82
Provider::prefixText
QStringList prefixText
Definition
provider.h:85
Provider::enumerations
QList< TraceEnum > enumerations
Definition
provider.h:86
Provider::flags
QList< TraceFlags > flags
Definition
provider.h:87
Provider::name
QString name
Definition
provider.h:83
Provider::tracepoints
QList< Tracepoint > tracepoints
Definition
provider.h:84
TraceEnum::EnumValue
Definition
provider.h:57
TraceEnum::EnumValue::name
QString name
Definition
provider.h:58
TraceEnum::EnumValue::value
int value
Definition
provider.h:59
TraceEnum::EnumValue::range
int range
Definition
provider.h:60
TraceEnum
Definition
provider.h:55
TraceEnum::valueSize
int valueSize
Definition
provider.h:63
TraceEnum::name
QString name
Definition
provider.h:56
TraceEnum::values
QList< EnumValue > values
Definition
provider.h:62
TraceFlags::FlagValue
Definition
provider.h:68
TraceFlags::FlagValue::value
int value
Definition
provider.h:70
TraceFlags::FlagValue::name
QString name
Definition
provider.h:69
TraceFlags
Definition
provider.h:66
TraceFlags::name
QString name
Definition
provider.h:67
TraceFlags::values
QList< FlagValue > values
Definition
provider.h:72
qtbase
src
tools
tracegen
provider.h
Generated on
for Qt by
1.18.0