![]() |
Qt 6.x
The Qt SDK
|
#include <qqmltypedata_p.h>
Inheritance diagram for QQmlTypeData:
Collaboration diagram for QQmlTypeData:Classes | |
| struct | ScriptReference |
| struct | TypeDataCallback |
| struct | TypeReference |
Public Member Functions | |
| ~QQmlTypeData () override | |
| const QList< ScriptReference > & | resolvedScripts () const |
| QV4::ExecutableCompilationUnit * | compilationUnit () const |
| void | registerCallback (TypeDataCallback *) |
| void | unregisterCallback (TypeDataCallback *) |
| QQmlType | qmlType (const QString &inlineComponentName=QString()) const |
| QByteArray | typeClassName () const |
| SourceCodeData | backupSourceCode () const |
Public Member Functions inherited from QQmlTypeLoader::Blob | |
| 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) |
Public Member Functions inherited from QQmlDataBlob | |
| 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. | |
Public Member Functions inherited from QQmlRefCounted< QQmlDataBlob > | |
| void | release () const |
Public Member Functions inherited from QQmlRefCount | |
| QQmlRefCount () | |
| void | addref () const |
| int | count () const |
Protected Member Functions | |
| void | done () override |
| Invoked once data has either been received or a network error occurred, and all dependencies are complete. | |
| void | completed () override |
| Invoked on the main thread sometime after done() was called on the load thread. | |
| void | dataReceived (const SourceCodeData &) override |
| Invoked when data for the blob is received. | |
| void | initializeFromCachedUnit (const QQmlPrivate::CachedQmlUnit *unit) override |
| void | allDependenciesDone () override |
| Called when all blobs waited for have completed. | |
| void | downloadProgressChanged (qreal) override |
| Called when the download progress of this blob changes. | |
| QString | stringAt (int index) const override |
Protected Member Functions inherited from QQmlTypeLoader::Blob | |
| 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 |
Protected Member Functions inherited from QQmlDataBlob | |
| 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. | |
Protected Member Functions inherited from QQmlRefCounted< QQmlDataBlob > | |
| ~QQmlRefCounted () | |
Private Member Functions | |
| void | scriptImported (const QQmlRefPointer< QQmlScriptBlob > &blob, const QV4::CompiledData::Location &location, const QString &nameSpace, const QString &qualifier) override |
Friends | |
| class | QQmlTypeLoader |
Definition at line 23 of file qqmltypedata_p.h.
|
override |
Definition at line 47 of file qqmltypedata.cpp.
|
overrideprotectedvirtual |
Called when all blobs waited for have completed.
This occurs regardless of whether they are in error, or complete state.
The default implementation does nothing.
Reimplemented from QQmlDataBlob.
Definition at line 741 of file qqmltypedata.cpp.
References QQmlDataBlob::allDependenciesDone(), QQmlImports::baseUrl(), error, QQmlDataBlob::errors(), it, QQmlTypeLoader::Blob::m_importCache, QQmlTypeLoader::Blob::m_unresolvedImports, QList< T >::prepend(), qmlConvertSourceCoordinate< quint32, int >(), QQmlDataBlob::setError(), and QList< T >::size().
Here is the call graph for this function:
|
inline |
Definition at line 73 of file qqmltypedata_p.h.
| QV4::ExecutableCompilationUnit * QQmlTypeData::compilationUnit | ( | ) | const |
Definition at line 59 of file qqmltypedata.cpp.
References QQmlRefPointer< T >::data().
Referenced by QV4::Function::Function(), done(), and QQmlPrivate::AOTCompiledContext::loadTypeLookup().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overrideprotectedvirtual |
Invoked on the main thread sometime after done() was called on the load thread.
You cannot modify the blobs state at all in this callback and cannot depend on the order or timeliness of these callbacks. Implementors should use this callback to notify dependencies on the main thread that the blob is done and not a lot else.
This callback is only invoked if an asynchronous load for this blob is made. An asynchronous load is one in which the Asynchronous mode is specified explicitly, or one that is implicitly delayed due to a network operation.
The default implementation does nothing.
Reimplemented from QQmlDataBlob.
Definition at line 562 of file qqmltypedata.cpp.
References QQmlTypeData::TypeDataCallback::typeDataReady().
Here is the call graph for this function:
|
overrideprotectedvirtual |
Invoked when data for the blob is received.
Implementors should use this callback to determine a blob's dependencies. Within this callback you may call setError() or addDependency().
Implements QQmlDataBlob.
Definition at line 607 of file qqmltypedata.cpp.
References QQmlDataBlob::SourceCodeData::exists(), QQmlDataBlob::SourceCodeData::isEmpty(), QQmlDataBlob::isError(), QQmlTypeLoader::Blob::m_cachedUnitStatus, QQmlDataBlob::setError(), and QQmlMetaType::VersionMismatch.
Here is the call graph for this function:
|
overrideprotectedvirtual |
Invoked once data has either been received or a network error occurred, and all dependencies are complete.
You can set an error in this method, but you cannot add new dependencies. Implementors should use this callback to finalize processing of data.
The default implementation does nothing.
XXX Rename processData() or some such to avoid confusion between done() (processing thread) and completed() (main thread)
Reimplemented from QQmlDataBlob.
Definition at line 329 of file qqmltypedata.cpp.
References QQmlTypeNameCache::add(), QV4::ResolvedTypeReferenceMap::addToHash(), addTypeReferenceChecksumsToHash(), arg, begin(), QQmlPropertyCacheCreatorBase::canCreateClassNameTypeByUrl(), QByteArray::chopped(), QHash< Key, T >::clear(), QV4::CompiledData::Location::column(), compilationUnit(), QQmlRefPointer< T >::data(), QScopedPointer< T, Cleanup >::data(), QV4::ExecutableCompilationUnit::dependentScripts, e, engine, QQmlMetaType::equalBaseUrls(), error, QQmlDataBlob::errors(), QV4::CompiledData::CompilationUnit::fileName(), QV4::ExecutableCompilationUnit::finalizeCompositeType(), QQmlDataBlob::finalUrl(), QQmlMetaType::findCompositeType(), QV4::CompiledData::Unit::flags, QQmlEnginePrivate::get(), hash, QV4::ExecutableCompilationUnit::inlineComponentData, QQmlDataBlob::isCompleteOrError(), QList< T >::isEmpty(), QQmlDataBlob::isError(), QScopedPointer< T, Cleanup >::isNull(), QV4::CompiledData::Unit::IsSingleton, QmlIR::Document::isSingleton(), it, QString::lastIndexOf(), QString::left(), QV4::CompiledData::Location::line(), QQmlTypeData::ScriptReference::location, QQmlTypeLoader::Blob::m_importCache, QCryptographicHash::Md5, QString::mid(), QMetaType::name(), QQmlMetaType::NonSingleton, QQmlMetaType::obtainExecutableCompilationUnit(), QList< T >::prepend(), Q_ASSERT, qCDebug, qDeleteAll(), qmlConvertSourceCoordinate< quint32, int >(), qmlType(), QQmlMetaType::qmlType(), qScopeGuard(), QQmlTypeData::ScriptReference::qualifier, QScopedPointer< T, Cleanup >::reset(), QQmlRefPointer< T >::reset(), QV4::ExecutableCompilationUnit::resolvedTypes, QQmlTypeData::ScriptReference::script, QQmlScriptBlob::scriptData(), QQmlDataBlob::setError(), QQmlMetaType::Singleton, stringAt(), QQmlDataBlob::type(), QQmlType::typeId(), QQmlDataBlob::typeLoader(), typeName, QV4::ExecutableCompilationUnit::typeNameCache, QV4::CompiledData::CompilationUnit::unitData(), QQmlDataBlob::url(), QQmlDataBlob::urlString(), QQmlPropertyValidator::validate(), and QV4::ExecutableCompilationUnit::verifyChecksum().
Here is the call graph for this function:Called when the download progress of this blob changes.
progress goes from 0 to 1.
This callback is only invoked if an asynchronous load for this blob is made. An asynchronous load is one in which the Asynchronous mode is specified explicitly, or one that is implicitly delayed due to a network operation.
The default implementation does nothing.
Reimplemented from QQmlDataBlob.
Definition at line 777 of file qqmltypedata.cpp.
References QQmlTypeData::TypeDataCallback::typeDataProgress().
Here is the call graph for this function:
|
overrideprotectedvirtual |
Implements QQmlDataBlob.
Definition at line 633 of file qqmltypedata.cpp.
References QQmlPrivate::CachedQmlUnit::aotCompiledFunctions, QScopedPointer< T, Cleanup >::data(), QV4::Compiler::Module::fileName, QV4::Compiler::Module::finalUrl, QQmlDataBlob::finalUrlString(), QQmlTypeLoader::Blob::isDebugging(), QmlIR::Document::javaScriptCompilationUnit, QmlIR::Document::jsModule, loader, QQmlPrivate::CachedQmlUnit::qmlData, QScopedPointer< T, Cleanup >::reset(), and QQmlDataBlob::urlString().
Here is the call graph for this function:Definition at line 77 of file qqmltypedata.cpp.
References QString::isEmpty().
Referenced by done(), and QQmlTypeCompiler::qmlTypeForComponent().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQmlTypeData::registerCallback | ( | TypeDataCallback * | callback | ) |
Definition at line 64 of file qqmltypedata.cpp.
References Q_ASSERT.
Referenced by QQmlComponentPrivate::loadUrl().
Here is the caller graph for this function:| const QList< QQmlTypeData::ScriptReference > & QQmlTypeData::resolvedScripts | ( | ) | const |
Definition at line 54 of file qqmltypedata.cpp.
|
overrideprivatevirtual |
Reimplemented from QQmlTypeLoader::Blob.
Definition at line 1056 of file qqmltypedata.cpp.
References QString::isEmpty().
Here is the call graph for this function:
|
overrideprotectedvirtual |
Reimplemented from QQmlTypeLoader::Blob.
Definition at line 785 of file qqmltypedata.cpp.
References QmlIR::Document::jsGenerator, QV4::CompiledData::CompilationUnit::stringAt(), QV4::Compiler::StringTableGenerator::stringForIndex(), and QV4::Compiler::JSUnitGenerator::stringTable.
Referenced by done().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 72 of file qqmltypedata_p.h.
Referenced by QQmlTypeCompiler::compile().
Here is the caller graph for this function:| void QQmlTypeData::unregisterCallback | ( | TypeDataCallback * | callback | ) |
Definition at line 70 of file qqmltypedata.cpp.
References Q_ASSERT.
Referenced by QQmlComponentPrivate::clear().
Here is the caller graph for this function:
|
friend |
Definition at line 49 of file qqmltypedata_p.h.