![]() |
Qt 6.x
The Qt SDK
|
#include <qqmltypeloader_p.h>
Classes | |
struct | PendingImport |
Public Types | |
using | PendingImportPtr = std::shared_ptr< PendingImport > |
![]() | |
enum | Status { Null , Loading , WaitingForDependencies , ResolvingDependencies , Complete , Error } |
This enum describes the status of the data blob. More... | |
enum | Type { QmlFile = QQmlAbstractUrlInterceptor::QmlFile , JavaScriptFile = QQmlAbstractUrlInterceptor::JavaScriptFile , QmldirFile = QQmlAbstractUrlInterceptor::QmldirFile } |
This enum describes the type of the data blob. More... | |
using | Ptr = QQmlRefPointer< QQmlDataBlob > |
Public Member Functions | |
Blob (const QUrl &url, QQmlDataBlob::Type type, QQmlTypeLoader *loader) | |
~Blob () override | |
const QQmlImports * | imports () const |
void | setCachedUnitStatus (QQmlMetaType::CachedUnitLookupError status) |
void | importQmldirScripts (const PendingImportPtr &import, const QQmlTypeLoaderQmldirContent &qmldir, const QUrl &qmldirUrl) |
![]() | |
QQmlDataBlob (const QUrl &, Type, QQmlTypeLoader *manager) | |
Create a new QQmlDataBlob for url and of the provided type. | |
virtual | ~QQmlDataBlob () |
void | startLoading () |
Must be called before loading can occur. | |
QQmlTypeLoader * | typeLoader () const |
Type | type () const |
Returns the type provided to the constructor. | |
Status | status () const |
Returns the blob's status. | |
bool | isNull () const |
Returns true if the status is Null. | |
bool | isLoading () const |
Returns true if the status is Loading. | |
bool | isWaiting () const |
Returns true if the status is WaitingForDependencies. | |
bool | isComplete () const |
Returns true if the status is Complete. | |
bool | isError () const |
Returns true if the status is Error. | |
bool | isCompleteOrError () const |
Returns true if the status is Complete or Error. | |
qreal | progress () const |
Returns the data download progress from 0 to 1. | |
QUrl | url () const |
Returns the physical url of the data. | |
QString | urlString () const |
QUrl | finalUrl () const |
Returns the logical URL to be used for resolving further URLs referred to in the code. | |
QString | finalUrlString () const |
Returns the finalUrl() as a string. | |
QList< QQmlError > | errors () const |
Return the errors on this blob. | |
![]() | |
void | release () const |
![]() | |
QQmlRefCount () | |
void | addref () const |
int | count () const |
Protected Member Functions | |
bool | addImport (const QV4::CompiledData::Import *import, QQmlImports::ImportFlags, QList< QQmlError > *errors) |
bool | addImport (PendingImportPtr import, QList< QQmlError > *errors) |
bool | fetchQmldir (const QUrl &url, PendingImportPtr import, int priority, QList< QQmlError > *errors) |
bool | updateQmldir (const QQmlRefPointer< QQmlQmldirData > &data, const PendingImportPtr &import, QList< QQmlError > *errors) |
bool | loadDependentImports (const QList< QQmlDirParser::Import > &imports, const QString &qualifier, QTypeRevision version, quint16 precedence, QQmlImports::ImportFlags flags, QList< QQmlError > *errors) |
virtual QString | stringAt (int) const |
bool | isDebugging () const |
bool | readCacheFile () const |
bool | writeCacheFile () const |
QQmlMetaType::CacheMode | aotCacheMode () const |
![]() | |
void | setError (const QQmlError &) |
Mark this blob as having errors. | |
void | setError (const QList< QQmlError > &errors) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
void | setError (const QQmlJS::DiagnosticMessage &error) |
void | setError (const QString &description) |
void | addDependency (QQmlDataBlob *) |
Wait for blob to become complete or to error. | |
virtual void | dataReceived (const SourceCodeData &)=0 |
Invoked when data for the blob is received. | |
virtual void | initializeFromCachedUnit (const QQmlPrivate::CachedQmlUnit *)=0 |
virtual void | done () |
Invoked once data has either been received or a network error occurred, and all dependencies are complete. | |
virtual void | dependencyError (QQmlDataBlob *) |
Called if blob, which was previously waited for, has an error. | |
virtual void | dependencyComplete (QQmlDataBlob *) |
Called if blob, which was previously waited for, has completed. | |
virtual void | allDependenciesDone () |
Called when all blobs waited for have completed. | |
virtual void | downloadProgressChanged (qreal) |
Called when the download progress of this blob changes. | |
virtual void | completed () |
Invoked on the main thread sometime after done() was called on the load thread. | |
![]() | |
~QQmlRefCounted () | |
Protected Attributes | |
QQmlRefPointer< QQmlImports > | m_importCache |
QVector< PendingImportPtr > | m_unresolvedImports |
QVector< QQmlRefPointer< QQmlQmldirData > > | m_qmldirs |
QQmlMetaType::CachedUnitLookupError | m_cachedUnitStatus = QQmlMetaType::CachedUnitLookupError::NoError |
![]() | |
QQmlTypeLoader * | m_typeLoader |
QList< QQmlDataBlob * > | m_waitingOnMe |
Private Member Functions | |
virtual bool | qmldirDataAvailable (const QQmlRefPointer< QQmlQmldirData > &, QList< QQmlError > *) |
virtual void | scriptImported (const QQmlRefPointer< QQmlScriptBlob > &, const QV4::CompiledData::Location &, const QString &, const QString &) |
void | dependencyComplete (QQmlDataBlob *) override |
Called if blob, which was previously waited for, has completed. | |
Definition at line 48 of file qqmltypeloader_p.h.
using QQmlTypeLoader::Blob::PendingImportPtr = std::shared_ptr<PendingImport> |
Definition at line 77 of file qqmltypeloader_p.h.
QQmlTypeLoader::Blob::Blob | ( | const QUrl & | url, |
QQmlDataBlob::Type | type, | ||
QQmlTypeLoader * | loader | ||
) |
Definition at line 456 of file qqmltypeloader.cpp.
|
override |
Definition at line 462 of file qqmltypeloader.cpp.
|
protected |
Definition at line 740 of file qqmltypeloader.cpp.
|
protected |
Definition at line 746 of file qqmltypeloader.cpp.
References QV4::CompiledData::Import::ImportFile, QV4::CompiledData::Import::ImportInlineComponent, QV4::CompiledData::Import::ImportLibrary, QV4::CompiledData::Import::ImportScript, and Q_ASSERT.
|
protected |
Definition at line 880 of file qqmltypeloader.cpp.
References QQmlMetaType::AcceptUntyped, QV4::ExecutionEngine::Aot, QV4::ExecutionEngine::AotByteCode, QQmlMetaType::RejectAll, and QQmlMetaType::RequireFullyTyped.
Referenced by QQmlTypeLoader::getScript(), and QQmlTypeLoader::getType().
|
overrideprivatevirtual |
Called if blob, which was previously waited for, has completed.
The default implementation does nothing.
Reimplemented from QQmlDataBlob.
Definition at line 766 of file qqmltypeloader.cpp.
References QV4::CompiledData::Location::column(), error, QV4::CompiledData::Location::line(), QList< T >::prepend(), Q_ASSERT, qmlConvertSourceCoordinate< quint32, int >(), QQmlDataBlob::QmldirFile, setError(), QList< T >::size(), QList< T >::takeFirst(), and QQmlDataBlob::type().
|
protected |
Definition at line 466 of file qqmltypeloader.cpp.
void QQmlTypeLoader::Blob::importQmldirScripts | ( | const PendingImportPtr & | import, |
const QQmlTypeLoaderQmldirContent & | qmldir, | ||
const QUrl & | qmldirUrl | ||
) |
Import any qualified scripts of for import as listed in qmldir. Precondition is that import is actually qualified.
Definition at line 490 of file qqmltypeloader.cpp.
References QQmlRefPointer< T >::data(), QUrl::resolved(), and QQmlTypeLoaderQmldirContent::scripts().
|
inline |
Definition at line 54 of file qqmltypeloader_p.h.
Referenced by QQmlTypeCompiler::imports().
|
protected |
Definition at line 863 of file qqmltypeloader.cpp.
Referenced by QQmlScriptBlob::dataReceived(), and QQmlTypeData::initializeFromCachedUnit().
|
protected |
Definition at line 784 of file qqmltypeloader.cpp.
References QList< T >::append(), arg, QQmlDirParser::Import::Auto, error, QString::fromLatin1(), lcQmlImport(), QQmlDirParser::Import::Optional, and qCDebug.
|
privatevirtual |
Definition at line 891 of file qqmltypeloader.cpp.
|
protected |
Definition at line 868 of file qqmltypeloader.cpp.
References QV4::ExecutionEngine::QmlcRead.
Referenced by QQmlScriptBlob::dataReceived().
|
inlineprivatevirtual |
Reimplemented in QQmlTypeData, and QQmlScriptBlob.
Definition at line 96 of file qqmltypeloader_p.h.
|
inline |
Definition at line 56 of file qqmltypeloader_p.h.
Referenced by QQmlTypeLoader::getScript(), and QQmlTypeLoader::getType().
|
inlineprotectedvirtual |
Reimplemented in QQmlScriptBlob, and QQmlTypeData.
Definition at line 109 of file qqmltypeloader_p.h.
|
protected |
Definition at line 525 of file qqmltypeloader.cpp.
References QTypeRevision::hasMajorVersion(), QQmlTypeLoader::importDatabase(), QTypeRevision::isValid(), QString::lastIndexOf(), QString::left(), and postProcessQmldir().
|
protected |
Definition at line 874 of file qqmltypeloader.cpp.
References QV4::ExecutionEngine::QmlcWrite.
Referenced by QQmlScriptBlob::dataReceived().
|
protected |
Definition at line 119 of file qqmltypeloader_p.h.
Referenced by QQmlScriptBlob::dataReceived(), and QQmlTypeData::dataReceived().
|
protected |
Definition at line 116 of file qqmltypeloader_p.h.
Referenced by QQmlTypeData::allDependenciesDone(), QQmlScriptBlob::done(), QQmlTypeData::done(), and LoadHelper::resolveType().
|
protected |
Definition at line 118 of file qqmltypeloader_p.h.
|
protected |
Definition at line 117 of file qqmltypeloader_p.h.
Referenced by QQmlTypeData::allDependenciesDone().