OpenCoverage

qqmlcomponent_p.h

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/qml/qqmlcomponent_p.h
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2016 The Qt Company Ltd.-
4** Contact: https://www.qt.io/licensing/-
5**-
6** This file is part of the QtQml module of the Qt Toolkit.-
7**-
8** $QT_BEGIN_LICENSE:LGPL$-
9** Commercial License Usage-
10** Licensees holding valid commercial Qt licenses may use this file in-
11** accordance with the commercial license agreement provided with the-
12** Software or, alternatively, in accordance with the terms contained in-
13** a written agreement between you and The Qt Company. For licensing terms-
14** and conditions see https://www.qt.io/terms-conditions. For further-
15** information use the contact form at https://www.qt.io/contact-us.-
16**-
17** GNU Lesser General Public License Usage-
18** Alternatively, this file may be used under the terms of the GNU Lesser-
19** General Public License version 3 as published by the Free Software-
20** Foundation and appearing in the file LICENSE.LGPL3 included in the-
21** packaging of this file. Please review the following information to-
22** ensure the GNU Lesser General Public License version 3 requirements-
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.-
24**-
25** GNU General Public License Usage-
26** Alternatively, this file may be used under the terms of the GNU-
27** General Public License version 2.0 or (at your option) the GNU General-
28** Public license version 3 or any later version approved by the KDE Free-
29** Qt Foundation. The licenses are as published by the Free Software-
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3-
31** included in the packaging of this file. Please review the following-
32** information to ensure the GNU General Public License requirements will-
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and-
34** https://www.gnu.org/licenses/gpl-3.0.html.-
35**-
36** $QT_END_LICENSE$-
37**-
38****************************************************************************/-
39-
40#ifndef QQMLCOMPONENT_P_H-
41#define QQMLCOMPONENT_P_H-
42-
43//-
44// W A R N I N G-
45// --------------
46//-
47// This file is not part of the Qt API. It exists purely as an-
48// implementation detail. This header file may change from version to-
49// version without notice, or even be removed.-
50//-
51// We mean it.-
52//-
53-
54#include "qqmlcomponent.h"-
55-
56#include "qqmlengine_p.h"-
57#include "qqmltypeloader_p.h"-
58#include <private/qbitfield_p.h>-
59#include "qqmlvme_p.h"-
60#include "qqmlerror.h"-
61#include "qqml.h"-
62#include <private/qqmlobjectcreator_p.h>-
63-
64#include <QtCore/QString>-
65#include <QtCore/QStringList>-
66#include <QtCore/QList>-
67-
68#include <private/qobject_p.h>-
69-
70QT_BEGIN_NAMESPACE-
71-
72class QQmlComponent;-
73class QQmlEngine;-
74-
75class QQmlComponentAttached;-
76class Q_QML_PRIVATE_EXPORT QQmlComponentPrivate : public QObjectPrivate, public QQmlTypeData::TypeDataCallback-
77{-
78 Q_DECLARE_PUBLIC(QQmlComponent)-
79-
80public:-
81 QQmlComponentPrivate()-
82 : progress(0.), start(-1), engine(nullptr), creationContext(nullptr) {}
executed 68735 times by 141 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
68735
83-
84 void loadUrl(const QUrl &newUrl, QQmlComponent::CompilationMode mode = QQmlComponent::PreferSynchronous);-
85-
86 QObject *beginCreate(QQmlContextData *);-
87 void completeCreate();-
88 void initializeObjectWithInitialProperties(QV4::QmlContext *qmlContext, const QV4::Value &valuemap, QObject *toCreate);-
89 static void setInitialProperties(QV4::ExecutionEngine *engine, QV4::QmlContext *qmlContext, const QV4::Value &o, const QV4::Value &v);-
90-
91 void incubateObject(-
92 QQmlIncubator *incubationTask,-
93 QQmlComponent *component,-
94 QQmlEngine *engine,-
95 QQmlContextData *context,-
96 QQmlContextData *forContext);-
97-
98 QQmlRefPointer<QQmlTypeData> typeData;-
99 void typeDataReady(QQmlTypeData *) override;-
100 void typeDataProgress(QQmlTypeData *, qreal) override;-
101-
102 void fromTypeData(const QQmlRefPointer<QQmlTypeData> &data);-
103-
104 QUrl url;-
105 qreal progress;-
106-
107 int start;-
108 QQmlRefPointer<QV4::CompiledData::CompilationUnit> compilationUnit;-
109-
110 struct ConstructionState {-
111 ConstructionState()-
112 : completePending(false)-
113 {}
executed 70415 times by 141 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
70415
114 ~ConstructionState()-
115 {-
116 }-
117-
118 QScopedPointer<QQmlObjectCreator> creator;-
119 QList<QQmlError> errors;-
120 bool completePending;-
121 };-
122 ConstructionState state;-
123-
124 struct DeferredState {-
125 ~DeferredState() {-
126 qDeleteAll(constructionStates);-
127 constructionStates.clear();-
128 }
never executed: end of block
0
129 QVector<ConstructionState *> constructionStates;-
130 };-
131-
132 static void beginDeferred(QQmlEnginePrivate *enginePriv, QObject *object, DeferredState* deferredState);-
133 static void completeDeferred(QQmlEnginePrivate *enginePriv, DeferredState *deferredState);-
134-
135 static void complete(QQmlEnginePrivate *enginePriv, ConstructionState *state);-
136-
137 QQmlEngine *engine;-
138 QQmlGuardedContextData creationContext;-
139-
140 void clear();-
141-
142 static QQmlComponentPrivate *get(QQmlComponent *c) {-
143 return static_cast<QQmlComponentPrivate *>(QObjectPrivate::get(c));
executed 187156 times by 43 tests: return static_cast<QQmlComponentPrivate *>(QObjectPrivate::get(c));
Executed by:
  • tst_examples
  • tst_multipointtoucharea_interop
  • tst_qmlcachegen
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmllistmodel
  • tst_qqmlqt
  • tst_qqmltypeloader
  • tst_qqmlvaluetypes
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickbehaviors
  • tst_qquickdraghandler
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickimage
  • tst_qquickitem
  • tst_qquickitem2
  • tst_qquickitemlayer
  • ...
187156
144 }-
145};-
146-
147QT_END_NAMESPACE-
148-
149#endif // QQMLCOMPONENT_P_H-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.0