aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlimport_p.h
diff options
context:
space:
mode:
authorMatthew Vogt <matthew.vogt@nokia.com>2012-06-29 12:25:20 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-16 04:46:50 +0200
commit432a48b8f2d9ebaef1bd7be4a168a45524faaf68 (patch)
treede7ff211c9e1b3b2bd0156b464bacbfbea475a1d /src/qml/qml/qqmlimport_p.h
parent9bc216f6fa34484bf582cbc3ccd2bb7b45826bc7 (diff)
Support remote import paths
Probe for installed modules in import path elements which are not local to the machine. Note that all local paths in the import path list will be tried before any remote locations are probed. Task-number: QTBUG-21386 Change-Id: I4f7b9e54e54c1d62a5e7cb7f059ee1e9319ef054 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Diffstat (limited to 'src/qml/qml/qqmlimport_p.h')
-rw-r--r--src/qml/qml/qqmlimport_p.h36
1 files changed, 27 insertions, 9 deletions
diff --git a/src/qml/qml/qqmlimport_p.h b/src/qml/qml/qqmlimport_p.h
index c88516dc95..dbff6fd219 100644
--- a/src/qml/qml/qqmlimport_p.h
+++ b/src/qml/qml/qqmlimport_p.h
@@ -74,6 +74,8 @@ class QQmlTypeLoader;
class Q_QML_PRIVATE_EXPORT QQmlImports
{
public:
+ enum ImportVersion { FullyVersioned, PartiallyVersioned, Unversioned };
+
QQmlImports(QQmlTypeLoader *);
QQmlImports(const QQmlImports &);
~QQmlImports();
@@ -92,15 +94,23 @@ public:
QQmlType** type_return, QString* url_return,
int *version_major, int *version_minor) const;
- bool addImplicitImport(QQmlImportDatabase *importDb,
- const QQmlDirComponents &qmldircomponentsnetwork,
- QList<QQmlError> *errors);
+ bool addImplicitImport(QQmlImportDatabase *importDb, QList<QQmlError> *errors);
+
+ bool addFileImport(QQmlImportDatabase *,
+ const QString& uri, const QString& prefix, int vmaj, int vmin, bool incomplete,
+ QList<QQmlError> *errors);
+
+ bool addLibraryImport(QQmlImportDatabase *importDb,
+ const QString &uri, const QString &prefix, int vmaj, int vmin,
+ const QString &qmldirIdentifier, const QString &qmldirUrl, bool incomplete, QList<QQmlError> *errors);
+
+ bool updateQmldirContent(QQmlImportDatabase *importDb,
+ const QString &uri, const QString &prefix,
+ const QString &qmldirIdentifier, const QString &qmldirUrl, QList<QQmlError> *errors);
- bool addImport(QQmlImportDatabase *,
- const QString& uri, const QString& prefix, int vmaj, int vmin,
- QQmlScript::Import::Type importType,
- const QQmlDirComponents &qmldircomponentsnetwork,
- QString *url, QList<QQmlError> *errors);
+ bool locateQmldir(QQmlImportDatabase *,
+ const QString &uri, int vmaj, int vmin,
+ QString *qmldirFilePath, QString *url);
void populateCache(QQmlTypeNameCache *cache, QQmlEngine *) const;
@@ -113,6 +123,12 @@ public:
QList<ScriptReference> resolvedScripts() const;
+ static QString completeQmldirPath(const QString &uri, const QString &base, int vmaj, int vmin,
+ QQmlImports::ImportVersion version);
+
+ static bool isLocal(const QString &url);
+ static bool isLocal(const QUrl &url);
+
private:
friend class QQmlImportDatabase;
QQmlImportsPrivate *d;
@@ -122,12 +138,14 @@ class QQmlImportDatabase
{
Q_DECLARE_TR_FUNCTIONS(QQmlImportDatabase)
public:
+ enum PathType { Local, Remote, LocalOrRemote };
+
QQmlImportDatabase(QQmlEngine *);
~QQmlImportDatabase();
bool importPlugin(const QString &filePath, const QString &uri, QList<QQmlError> *errors);
- QStringList importPathList() const;
+ QStringList importPathList(PathType type = LocalOrRemote) const;
void setImportPathList(const QStringList &paths);
void addImportPath(const QString& dir);