Qt
6.x
The Qt SDK
Loading...
Searching...
No Matches
qqmlincubator_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#ifndef QQMLINCUBATOR_P_H
5
#define QQMLINCUBATOR_P_H
6
7
#include "
qqmlincubator.h
"
8
9
#include <private/qintrusivelist_p.h>
10
#include <private/qqmlvme_p.h>
11
#include <private/qrecursionwatcher_p.h>
12
#include <private/qqmlengine_p.h>
13
#include <private/qqmlguardedcontextdata_p.h>
14
15
//
16
// W A R N I N G
17
// -------------
18
//
19
// This file is not part of the Qt API. It exists purely as an
20
// implementation detail. This header file may change from version to
21
// version without notice, or even be removed.
22
//
23
// We mean it.
24
//
25
26
QT_BEGIN_NAMESPACE
27
28
class
RequiredProperties
;
29
30
class
QQmlIncubator
;
31
class
Q_QML_PRIVATE_EXPORT
QQmlIncubatorPrivate
:
public
QQmlEnginePrivate::Incubator
,
public
QSharedData
32
{
33
public
:
34
QQmlIncubatorPrivate
(
QQmlIncubator
*
q
,
QQmlIncubator::IncubationMode
m
);
35
~QQmlIncubatorPrivate
();
36
37
inline
static
QQmlIncubatorPrivate
*
get
(
QQmlIncubator
*incubator) {
return
incubator->d; }
38
39
int
subComponentToCreate
;
40
QQmlIncubator
*
q
;
41
42
QQmlIncubator::Status
calculateStatus()
const
;
43
void
changeStatus(
QQmlIncubator::Status
);
44
QQmlIncubator::Status
status
;
45
46
QQmlIncubator::IncubationMode
mode
;
47
bool
isAsynchronous
;
48
enum
Progress
:
char
{ Execute, Completing, Completed };
49
Progress
progress
;
50
51
QList<QQmlError>
errors
;
52
53
54
QPointer<QObject>
result
;
55
enum
HadTopLevelRequired
:
bool
{No = 0, Yes = 1};
56
/* TODO: unify with Creator pointer once QTBUG-108760 is implemented
57
though we don't acutally own the properties here; if we ever end up
58
with a use case for async incubation of C++ types, we however could
59
not rely on the component to still exist during incubation, and
60
would need to store a copy of the required properties instead
61
*/
62
QTaggedPointer<RequiredProperties, HadTopLevelRequired>
requiredPropertiesFromComponent
;
63
QQmlGuardedContextData
rootContext
;
64
QQmlEnginePrivate
*
enginePriv
;
65
QQmlRefPointer<QV4::ExecutableCompilationUnit>
compilationUnit
;
66
QScopedPointer<QQmlObjectCreator>
creator
;
67
QQmlVMEGuard
vmeGuard
;
68
69
QExplicitlySharedDataPointer<QQmlIncubatorPrivate>
waitingOnMe
;
70
typedef
QQmlEnginePrivate::Incubator
QIPBase
;
71
QIntrusiveListNode
nextWaitingFor
;
72
QIntrusiveList<QQmlIncubatorPrivate, &QQmlIncubatorPrivate::nextWaitingFor>
waitingFor
;
73
74
QRecursionNode
recursion
;
75
QVariantMap
initialProperties
;
76
77
void
clear
();
78
79
void
forceCompletion(
QQmlInstantiationInterrupt
&
i
);
80
void
incubate
(
QQmlInstantiationInterrupt
&
i
);
81
void
incubateCppBasedComponent(
QQmlComponent
*
component
,
QQmlContext
*
context
);
82
RequiredProperties
*requiredProperties();
83
bool
hadTopLevelRequiredProperties()
const
;
84
};
85
86
QT_END_NAMESPACE
87
88
#endif
// QQMLINCUBATOR_P_H
89
QExplicitlySharedDataPointer
\inmodule QtCore
Definition
qshareddata.h:130
QIntrusiveListNode
Definition
qintrusivelist_p.h:66
QIntrusiveList
The QIntrusiveList class is a template class that provides a list of objects using static storage.
Definition
qintrusivelist_p.h:25
QList
Definition
qlist.h:74
QMap< QString, QVariant >
QPointer
\inmodule QtCore
Definition
qpointer.h:18
QQmlComponent
The QQmlComponent class encapsulates a QML component definition.
Definition
qqmlcomponent.h:33
QQmlContext
The QQmlContext class defines a context within a QML engine.
Definition
qqmlcontext.h:25
QQmlEnginePrivate
Definition
qqmlengine_p.h:108
QQmlEnginePrivate::incubate
void incubate(QQmlIncubator &, const QQmlRefPointer< QQmlContextData > &)
Definition
qqmlincubator.cpp:11
QQmlGuardedContextData
Definition
qqmlguardedcontextdata_p.h:24
QQmlIncubatorPrivate
Definition
qqmlincubator_p.h:32
QQmlIncubatorPrivate::QIPBase
QQmlEnginePrivate::Incubator QIPBase
Definition
qqmlincubator_p.h:70
QQmlIncubatorPrivate::vmeGuard
QQmlVMEGuard vmeGuard
Definition
qqmlincubator_p.h:67
QQmlIncubatorPrivate::HadTopLevelRequired
HadTopLevelRequired
Definition
qqmlincubator_p.h:55
QQmlIncubatorPrivate::nextWaitingFor
QIntrusiveListNode nextWaitingFor
Definition
qqmlincubator_p.h:71
QQmlIncubatorPrivate::get
static QQmlIncubatorPrivate * get(QQmlIncubator *incubator)
Definition
qqmlincubator_p.h:37
QQmlIncubatorPrivate::Progress
Progress
Definition
qqmlincubator_p.h:48
QQmlIncubatorPrivate::rootContext
QQmlGuardedContextData rootContext
Definition
qqmlincubator_p.h:63
QQmlIncubatorPrivate::isAsynchronous
bool isAsynchronous
Definition
qqmlincubator_p.h:47
QQmlIncubatorPrivate::waitingOnMe
QExplicitlySharedDataPointer< QQmlIncubatorPrivate > waitingOnMe
Definition
qqmlincubator_p.h:69
QQmlIncubatorPrivate::result
QPointer< QObject > result
Definition
qqmlincubator_p.h:54
QQmlIncubatorPrivate::creator
QScopedPointer< QQmlObjectCreator > creator
Definition
qqmlincubator_p.h:66
QQmlIncubatorPrivate::subComponentToCreate
int subComponentToCreate
Definition
qqmlincubator_p.h:39
QQmlIncubatorPrivate::compilationUnit
QQmlRefPointer< QV4::ExecutableCompilationUnit > compilationUnit
Definition
qqmlincubator_p.h:65
QQmlIncubatorPrivate::progress
Progress progress
Definition
qqmlincubator_p.h:49
QQmlIncubatorPrivate::enginePriv
QQmlEnginePrivate * enginePriv
Definition
qqmlincubator_p.h:64
QQmlIncubatorPrivate::mode
QQmlIncubator::IncubationMode mode
Definition
qqmlincubator_p.h:46
QQmlIncubatorPrivate::q
QQmlIncubator * q
Definition
qqmlincubator_p.h:40
QQmlIncubatorPrivate::errors
QList< QQmlError > errors
Definition
qqmlincubator_p.h:51
QQmlIncubatorPrivate::requiredPropertiesFromComponent
QTaggedPointer< RequiredProperties, HadTopLevelRequired > requiredPropertiesFromComponent
Definition
qqmlincubator_p.h:62
QQmlIncubatorPrivate::initialProperties
QVariantMap initialProperties
Definition
qqmlincubator_p.h:75
QQmlIncubatorPrivate::recursion
QRecursionNode recursion
Definition
qqmlincubator_p.h:74
QQmlIncubatorPrivate::waitingFor
QIntrusiveList< QQmlIncubatorPrivate, &QQmlIncubatorPrivate::nextWaitingFor > waitingFor
Definition
qqmlincubator_p.h:72
QQmlIncubatorPrivate::status
QQmlIncubator::Status status
Definition
qqmlincubator_p.h:44
QQmlIncubator
The QQmlIncubator class allows QML objects to be created asynchronously.
Definition
qqmlincubator.h:20
QQmlIncubator::IncubationMode
IncubationMode
Specifies the mode the incubator operates in.
Definition
qqmlincubator.h:23
QQmlIncubator::Status
Status
Specifies the status of the QQmlIncubator.
Definition
qqmlincubator.h:28
QQmlInstantiationInterrupt
Definition
qqmlvme_p.h:36
QQmlRefPointer
Definition
qqmlrefcount_p.h:54
QQmlVMEGuard
Definition
qqmlvme_p.h:70
QRecursionNode
Definition
qrecursionwatcher_p.h:23
QScopedPointer
\inmodule QtCore
Definition
qscopedpointer.h:71
QSharedData
\inmodule QtCore
Definition
qshareddata.h:19
QTaggedPointer
Definition
qtaggedpointer.h:38
RequiredProperties
Definition
qqmlobjectcreator_p.h:79
i
i
[1]
Definition
doc_src_containers.cpp:167
clear
b clear()
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1545
context
static void * context
Definition
qandroidaudiosource.cpp:42
m
const GLfloat * m
Definition
qopengles2ext.h:3203
q
GLdouble GLdouble GLdouble GLdouble q
Definition
qopenglext.h:259
component
static qreal component(const QPointF &point, unsigned int i)
Definition
qpathclipper.cpp:626
qqmlincubator.h
QQmlEnginePrivate::Incubator
Definition
qqmlengine_p.h:171
qtdeclarative
src
qml
qml
qqmlincubator_p.h
Generated by
1.9.7