19#include <private/qrecursionwatcher_p.h>
21#include <QtCore/QStack>
22#include <QtCore/QString>
23#include <QtCore/qelapsedtimer.h>
24#include <QtCore/qdeadlinetimer.h>
25#include <QtCore/qcoreapplication.h>
26#include <QtCore/qtypeinfo.h>
28#include <private/qqmlengine_p.h>
45 enum Mode { None, Time, Flag };
47 QDeadlineTimer deadline;
48 std::atomic<
bool> *runWhile =
nullptr;
54 static void enableComponentComplete();
55 static void disableComponentComplete();
56 static bool componentCompleteEnabled();
59 static bool s_enableComponentComplete;
75 void guard(QQmlObjectCreator *);
82 QQmlGuard<QObject> *m_objects;
84 QQmlGuardedContextData *m_contexts;
108 return deadline.hasExpired();
110 return !runWhile->load(std::memory_order_acquire) || deadline.hasExpired();
112 Q_UNREACHABLE_RETURN(
false);
void setInitialState(QObject *o) override
Called after the object is first created, but before complex property bindings are evaluated and,...
void statusChanged(Status s) override
Called when the status of the incubator changes.
QQmlComponentIncubator(QV4::Heap::QmlIncubatorObject *inc, IncubationMode mode)
QV4::PersistentValue incubatorObject
The QQmlComponent class encapsulates a QML component definition.
The QQmlError class encapsulates a QML error.
Status
Specifies the status of the QQmlIncubator.
QQmlInstantiationInterrupt(std::atomic< bool > *runWhile, QDeadlineTimer deadline=QDeadlineTimer::Forever)
bool shouldInterrupt() const
QQmlInstantiationInterrupt()
QQmlInstantiationInterrupt(QDeadlineTimer deadline)
void guard(QQmlObjectCreator *)
Combined button and popup list for selecting options.
DECLARE_HEAP_OBJECT(QmlContext, ExecutionContext)
Q_DECLARE_TYPEINFO(QByteArrayView, Q_PRIMITIVE_TYPE)
QT_BEGIN_NAMESPACE Q_STATIC_LOGGING_CATEGORY(lcSynthesizedIterableAccess, "qt.iterable.synthesized", QtWarningMsg)
static void removePendingQPropertyBinding(QV4::Value *object, const QString &propertyName, const QQmlObjectCreator *creator)
static void QQmlComponent_setQmlParent(QObject *me, QObject *parent)
DEFINE_OBJECT_VTABLE(QV4::QmlIncubatorObject)
V4_DEFINE_EXTENSION(QQmlComponentExtension, componentExtension)
static QQmlParserStatus * parserStatusCast(const QQmlType &type, QObject *rv)
QDebug Q_QML_EXPORT operator<<(QDebug debug, const QQmlError &error)
static ReturnedValue method_set_statusChanged(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_status(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_object(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
void statusChanged(QQmlIncubator::Status)
void setInitialState(QObject *, RequiredProperties *requiredProperties)
static ReturnedValue method_forceCompletion(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)