![]() |
Qt 6.x
The Qt SDK
|
#include <qqmlscriptblob_p.h>
Classes | |
struct | ScriptReference |
Public Member Functions | |
~QQmlScriptBlob () override | |
QQmlRefPointer< QQmlScriptData > | scriptData () const |
![]() | |
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 | |
void | dataReceived (const SourceCodeData &) override |
Invoked when data for the blob is received. | |
void | initializeFromCachedUnit (const QQmlPrivate::CachedQmlUnit *unit) override |
void | done () override |
Invoked once data has either been received or a network error occurred, and all dependencies are complete. | |
QString | stringAt (int index) const override |
![]() | |
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 () | |
Private Member Functions | |
void | scriptImported (const QQmlRefPointer< QQmlScriptBlob > &blob, const QV4::CompiledData::Location &location, const QString &qualifier, const QString &nameSpace) override |
Friends | |
class | QQmlTypeLoader |
Definition at line 23 of file qqmlscriptblob_p.h.
|
override |
Definition at line 26 of file qqmlscriptblob.cpp.
|
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 35 of file qqmlscriptblob.cpp.
References QV4::Compiler::Codegen::compileModule(), QV4::ExecutableCompilationUnit::create(), error, QQmlDataBlob::errors(), QQmlDataBlob::finalUrlString(), QmlIR::QmlUnitGenerator::generate(), QQmlTypeLoader::Blob::isDebugging(), QList< T >::isEmpty(), QmlIR::Document::javaScriptCompilationUnit, QmlIR::Document::jsGenerator, QmlIR::Document::jsModule, QmlIR::Document::jsParserEngine, QQmlTypeLoader::Blob::m_cachedUnitStatus, QV4::Script::precompile(), qCDebug, QQmlEnginePrivate::qmlErrorFromDiagnostics(), QQmlTypeLoader::Blob::readCacheFile(), QV4::Compiler::ScriptImportedByQML, QQmlJS::Engine::setDirectives(), QQmlDataBlob::setError(), QV4::Compiler::Module::sourceTimeStamp, QQmlDataBlob::url(), QQmlDataBlob::urlString(), QQmlMetaType::VersionMismatch, and QQmlTypeLoader::Blob::writeCacheFile().
|
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 123 of file qqmlscriptblob.cpp.
References QQmlTypeNameCache::add(), QQmlRefPointer< T >::adopt(), arg, QV4::CompiledData::Location::column(), QQmlRefPointer< T >::data(), error, QQmlDataBlob::errors(), QQmlDataBlob::isCompleteOrError(), QQmlDataBlob::isError(), QString::isNull(), QV4::CompiledData::Location::line(), QQmlScriptBlob::ScriptReference::location, QQmlTypeLoader::Blob::m_importCache, QQmlScriptBlob::ScriptReference::nameSpace, QQmlImports::populateCache(), QList< T >::prepend(), Q_ASSERT, qmlConvertSourceCoordinate< quint32, int >(), QQmlScriptBlob::ScriptReference::qualifier, QQmlScriptBlob::ScriptReference::script, QQmlScriptData::scripts, QQmlDataBlob::setError(), QQmlScriptData::typeNameCache, QQmlDataBlob::url(), and QQmlDataBlob::urlString().
|
overrideprotectedvirtual |
Implements QQmlDataBlob.
Definition at line 117 of file qqmlscriptblob.cpp.
References QQmlPrivate::CachedQmlUnit::aotCompiledFunctions, QV4::ExecutableCompilationUnit::create(), QQmlDataBlob::finalUrlString(), QQmlPrivate::CachedQmlUnit::qmlData, and QQmlDataBlob::urlString().
QQmlRefPointer< QQmlScriptData > QQmlScriptBlob::scriptData | ( | ) | const |
Definition at line 30 of file qqmlscriptblob.cpp.
Referenced by QQmlTypeData::done().
|
overrideprivatevirtual |
Reimplemented from QQmlTypeLoader::Blob.
Definition at line 174 of file qqmlscriptblob.cpp.
|
overrideprotectedvirtual |
Reimplemented from QQmlTypeLoader::Blob.
Definition at line 169 of file qqmlscriptblob.cpp.
References QV4::CompiledData::CompilationUnit::stringAt().
|
friend |
Definition at line 26 of file qqmlscriptblob_p.h.