30class QQmlPreviewFileEngine :
public QAbstractFileEngine
33 QQmlPreviewFileEngine(
const QString &file,
const QString &absolute,
34 QQmlPreviewFileLoader *loader);
36 void setFileName(
const QString &file) override;
38 bool open(QIODevice::OpenMode flags, std::optional<QFile::Permissions> permissions) override;
39 bool close() override;
40 qint64 size()
const override;
41 qint64 pos()
const override;
42 bool seek(qint64) override;
43 qint64 read(
char *data, qint64 maxlen) override;
45 FileFlags fileFlags(FileFlags type)
const override;
46 QString fileName(QAbstractFileEngine::FileName file)
const override;
47 uint ownerId(FileOwner)
const override;
49 IteratorUniquePtr beginEntryList(
const QString &path, QDirListing::IteratorFlags filters,
50 const QStringList &filterNames) override;
51 IteratorUniquePtr endEntryList() override;
54 bool flush() override;
55 bool syncToDisk() override;
56 bool isSequential()
const override;
57 bool remove() override;
58 bool copy(
const QString &newName) override;
59 bool rename(
const QString &newName) override;
60 bool renameOverwrite(
const QString &newName) override;
61 bool link(
const QString &newName) override;
62 bool mkdir(
const QString &dirName,
bool createParentDirectories,
63 std::optional<QFile::Permissions> permissions = std::nullopt)
const override;
64 bool rmdir(
const QString &dirName,
bool recurseParentDirectories)
const override;
65 bool setSize(qint64 size) override;
66 bool caseSensitive()
const override;
67 bool isRelativePath()
const override;
68 bool setPermissions(uint perms) override;
69 QByteArray id()
const override;
70 QString owner(FileOwner)
const override;
71 QDateTime fileTime(QFile::FileTime time)
const override;
72 int handle()
const override;
73 qint64 readLine(
char *data, qint64 maxlen) override;
74 qint64 write(
const char *data, qint64 len) override;
75 bool extension(Extension extension,
const ExtensionOption *option, ExtensionReturn *output) override;
76 bool supportsExtension(Extension extension)
const override;
83 QPointer<QQmlPreviewFileLoader> m_loader;
85 mutable QBuffer m_contents;
86 mutable QStringList m_entries;
87 mutable std::unique_ptr<QAbstractFileEngine> m_fallback;
88 mutable QQmlPreviewFileLoader::Result m_result = QQmlPreviewFileLoader::Unknown;