aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmldirdata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/qml/qqmldirdata.cpp')
-rw-r--r--src/qml/qml/qqmldirdata.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/qml/qml/qqmldirdata.cpp b/src/qml/qml/qqmldirdata.cpp
new file mode 100644
index 0000000000..8997146dba
--- /dev/null
+++ b/src/qml/qml/qqmldirdata.cpp
@@ -0,0 +1,47 @@
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include <private/qqmldirdata_p.h>
+
+QT_BEGIN_NAMESPACE
+
+QQmlQmldirData::QQmlQmldirData(const QUrl &url, QQmlTypeLoader *loader)
+ : QQmlTypeLoader::Blob(url, QmldirFile, loader)
+{
+}
+
+const QString &QQmlQmldirData::content() const
+{
+ return m_content;
+}
+
+QV4::CompiledData::Location QQmlQmldirData::importLocation(QQmlTypeLoader::Blob *blob) const
+{
+ auto it = m_imports.constFind(blob);
+ if (it == m_imports.constEnd())
+ return QV4::CompiledData::Location();
+ return it->import->location;
+}
+
+void QQmlQmldirData::setPriority(QQmlTypeLoader::Blob *blob,
+ QQmlTypeLoader::Blob::PendingImportPtr import, int priority)
+{
+ m_imports.insert(blob, { std::move(import), priority });
+}
+
+void QQmlQmldirData::dataReceived(const SourceCodeData &data)
+{
+ QString error;
+ m_content = data.readAll(&error);
+ if (!error.isEmpty()) {
+ setError(error);
+ return;
+ }
+}
+
+void QQmlQmldirData::initializeFromCachedUnit(const QQmlPrivate::CachedQmlUnit *)
+{
+ Q_UNIMPLEMENTED();
+}
+
+QT_END_NAMESPACE