Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qqmljsresourcefilemapper_p.h
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3#ifndef QQMLJSRESOURCEFILEMAPPER_P_H
4#define QQMLJSRESOURCEFILEMAPPER_P_H
5
6//
7// W A R N I N G
8// -------------
9//
10// This file is not part of the Qt API. It exists purely as an
11// implementation detail. This header file may change from version to
12// version without notice, or even be removed.
13//
14// We mean it.
15
16#include <qtqmlcompilerexports.h>
17
18#include <QStringList>
19#include <QHash>
20#include <QFile>
21#include <private/qglobal_p.h>
22
24
25struct Q_QMLCOMPILER_EXPORT QQmlJSResourceFileMapper
26{
27 struct Entry
28 {
31 bool isValid() const { return !resourcePath.isEmpty() && !filePath.isEmpty(); }
32 };
33
35 File = 0x0, // Default is local (non-directory) file, without recursion
36 Directory = 0x1, // Directory, either local or resource
37 Resource = 0x2, // Resource path, either to file or directory
38 Recurse = 0x4, // Recurse into subdirectories if Directory
39 };
41
42 struct Filter {
45 FilterFlags flags;
46 };
47
48 static Filter allQmlJSFilter();
49 static Filter localFileFilter(const QString &file);
50 static Filter resourceFileFilter(const QString &file);
51 static Filter resourceQmlDirectoryFilter(const QString &directory);
52
53 QQmlJSResourceFileMapper(const QStringList &resourceFiles);
54
55 bool isEmpty() const;
56 bool isFile(const QString &resourcePath) const;
57
58 QList<Entry> filter(const Filter &filter) const;
59 QStringList filePaths(const Filter &filter) const;
60 QStringList resourcePaths(const Filter &filter) const;
61 Entry entry(const Filter &filter) const;
62
63private:
64 void populateFromQrcFile(QFile &file);
65
66 QList<Entry> qrcPathToFileSystemPath;
67};
68
69Q_DECLARE_OPERATORS_FOR_FLAGS(QQmlJSResourceFileMapper::FilterFlags);
70
72
73#endif // QMLJSRESOURCEFILEMAPPER_P_H
\inmodule QtCore
Definition qfile.h:93
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
bool isEmpty() const noexcept
Returns true if the string has no characters; otherwise returns false.
Definition qstring.h:192
Combined button and popup list for selecting options.
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
Definition qflags.h:194
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLuint entry
QFile file
[0]
Q_DECLARE_FLAGS(FilterFlags, FilterMode)