Qt
6.x
The Qt SDK
Loading...
Searching...
No Matches
qqmljsstreamwriter_p.h
Go to the documentation of this file.
1
// Copyright (C) 2020 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4
#ifndef QQMLJSSTREAMWRITER_P_H
5
#define QQMLJSSTREAMWRITER_P_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
17
#include <QtCore/QIODevice>
18
#include <QtCore/QList>
19
#include <QtCore/QString>
20
#include <QtCore/QScopedPointer>
21
#include <QtCore/QPair>
22
23
QT_BEGIN_NAMESPACE
24
25
class
QQmlJSStreamWriter
26
{
27
public
:
28
QQmlJSStreamWriter
(
QByteArray
*
array
);
29
30
void
writeStartDocument
();
31
void
writeEndDocument
();
32
void
writeLibraryImport
(
33
QByteArrayView
uri,
int
majorVersion,
int
minorVersion,
QByteArrayView
as = {});
34
void
writeStartObject
(
QByteArrayView
component
);
35
void
writeEndObject
();
36
void
writeScriptBinding
(
QByteArrayView
name
,
QByteArrayView
rhs);
37
void
writeStringBinding
(
QByteArrayView
name
,
QAnyStringView
value
);
38
void
writeNumberBinding
(
QByteArrayView
name
,
qint64
value
);
39
40
// TODO: Drop this once we can drop qmlplugindump. It is substantially weird.
41
void
writeEnumObjectLiteralBinding
(
42
QByteArrayView
name
,
const
QList
<
QPair<QAnyStringView, int>
> &keyValue);
43
44
// TODO: these would look better with generator functions.
45
void
writeArrayBinding
(
QByteArrayView
name
,
const
QByteArrayList
&
elements
);
46
void
writeStringListBinding
(
QByteArrayView
name
,
const
QList<QAnyStringView>
&
elements
);
47
48
void
write
(
QByteArrayView
data
);
49
void
writeBooleanBinding
(
QByteArrayView
name
,
bool
value
);
50
51
private
:
52
void
writeIndent();
53
void
writePotentialLine(
const
QByteArray
&
line
);
54
void
flushPotentialLinesWithNewlines();
55
56
template
<
typename
String,
typename
ElementHandler>
57
void
doWriteArrayBinding(
58
QByteArrayView
name
,
const
QList<String>
&
elements
, ElementHandler &&handler);
59
60
int
m_indentDepth;
61
QList<QByteArray>
m_pendingLines;
62
int
m_pendingLineLength;
63
bool
m_maybeOneline;
64
QScopedPointer<QIODevice>
m_stream;
65
};
66
67
QT_END_NAMESPACE
68
69
#endif
// QQMLJSSTREAMWRITER_P_H
QAnyStringView
\inmodule QtCore
Definition
qanystringview.h:32
QByteArrayList
\inmodule QtCore
QByteArrayView
Definition
qbytearrayview.h:75
QByteArray
\inmodule QtCore
Definition
qbytearray.h:57
QList
Definition
qlist.h:74
QQmlJSStreamWriter
Definition
qqmljsstreamwriter_p.h:26
QQmlJSStreamWriter::writeStringListBinding
void writeStringListBinding(QByteArrayView name, const QList< QAnyStringView > &elements)
Definition
qqmljsstreamwriter.cpp:182
QQmlJSStreamWriter::write
void write(QByteArrayView data)
Definition
qqmljsstreamwriter.cpp:188
QQmlJSStreamWriter::writeEndDocument
void writeEndDocument()
Definition
qqmljsstreamwriter.cpp:51
QQmlJSStreamWriter::writeEnumObjectLiteralBinding
void writeEnumObjectLiteralBinding(QByteArrayView name, const QList< QPair< QAnyStringView, int > > &keyValue)
Definition
qqmljsstreamwriter.cpp:194
QQmlJSStreamWriter::writeLibraryImport
void writeLibraryImport(QByteArrayView uri, int majorVersion, int minorVersion, QByteArrayView as={})
Definition
qqmljsstreamwriter.cpp:55
QQmlJSStreamWriter::writeArrayBinding
void writeArrayBinding(QByteArrayView name, const QByteArrayList &elements)
Definition
qqmljsstreamwriter.cpp:177
QQmlJSStreamWriter::writeScriptBinding
void writeScriptBinding(QByteArrayView name, QByteArrayView rhs)
Definition
qqmljsstreamwriter.cpp:108
QQmlJSStreamWriter::writeStartDocument
void writeStartDocument()
Definition
qqmljsstreamwriter.cpp:47
QQmlJSStreamWriter::writeStartObject
void writeStartObject(QByteArrayView component)
Definition
qqmljsstreamwriter.cpp:71
QQmlJSStreamWriter::writeEndObject
void writeEndObject()
Definition
qqmljsstreamwriter.cpp:81
QQmlJSStreamWriter::writeBooleanBinding
void writeBooleanBinding(QByteArrayView name, bool value)
Definition
qqmljsstreamwriter.cpp:128
QQmlJSStreamWriter::writeStringBinding
void writeStringBinding(QByteArrayView name, QAnyStringView value)
Definition
qqmljsstreamwriter.cpp:118
QQmlJSStreamWriter::writeNumberBinding
void writeNumberBinding(QByteArrayView name, qint64 value)
Definition
qqmljsstreamwriter.cpp:123
QScopedPointer
\inmodule QtCore
Definition
qscopedpointer.h:71
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1545
QPair
std::pair< T1, T2 > QPair
Definition
qcontainerfwd.h:25
value
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
Definition
qeglstreamconvenience_p.h:46
data
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
Definition
qopengles2ext.h:206
name
GLuint name
Definition
qopengles2ext.h:156
array
GLenum array
Definition
qopenglext.h:7028
component
static qreal component(const QPointF &point, unsigned int i)
Definition
qpathclipper.cpp:626
elements
static const QTextHtmlElement elements[Html_NumElements]
Definition
qtexthtmlparser.cpp:354
qint64
long long qint64
Definition
qtypes.h:55
line
QString line
Definition
src_corelib_io_qtextstream.cpp:16
qtdeclarative
src
qmltyperegistrar
qqmljsstreamwriter_p.h
Generated by
1.9.7