26class QQuickVectorImageIncubatorPrivate:
public QObjectPrivate
29 class QmlComponentGuard {
31 QmlComponentGuard() =
default;
32 QmlComponentGuard(QmlComponentGuard &&) =
default;
35 QmlComponentGuard &operator=(QmlComponentGuard &&) =
delete;
39 return m_component ==
nullptr && m_baseCompilationUnit ==
nullptr;
42 QQmlComponent *takeComponent();
44 QQmlComponent *component()
const
46 return m_component.get();
49 void setComponent(QQmlComponent *component)
51 Q_ASSERT(m_component ==
nullptr);
52 m_component.reset(component);
56 std::unique_ptr<QQmlComponent> m_component;
57 QQmlRefPointer<QV4::CompiledData::CompilationUnit> m_baseCompilationUnit;
60 static QQuickVectorImageIncubatorPrivate *get(QQuickVectorImageIncubator *incubator)
62 return static_cast<QQuickVectorImageIncubatorPrivate *>(QObjectPrivate::get(incubator));
65 QmlComponentGuard takeComponentGuard();
67 std::unique_ptr<QQuickVectorImageWorker> generatorWorker;
68 std::unique_ptr<QThread> workerThread;
69 QQmlContext *qmlContext =
nullptr;
70 QQmlIncubator::Status status = QQmlIncubator::Null;
71 QmlComponentGuard componentGuard;