24#include <QtCore/private/qabstractfileengine_p.h>
25#include <QtCore/private/qfilesystementry_p.h>
26#include <QtCore/private/qfilesystemmetadata_p.h>
62#ifndef QT_NO_FSFILEENGINE
73#ifndef QT_NO_FSFILEENGINE
94 metaData = QFileSystemMetaData();
97 inline QFileInfoPrivate(
const QFileSystemEntry &file,
const QFileSystemMetaData &data, std::unique_ptr<QAbstractFileEngine> engine)
102#ifndef QT_NO_FSFILEENGINE
115 (
void)fileEngine->fileFlags(QAbstractFileEngine::Refresh);
120 for (
int i = QAbstractFileEngine::NFileNames - 1 ; i >= 0 ; --i)
121 fileNames[i].clear();
122 fileOwners[1].clear();
123 fileOwners[0].clear();
146 {
return cache_enabled ? (cachedFlags & c) : 0; }
148 {
if (cache_enabled) cachedFlags |= c; }
150 template <
typename Ret,
typename FSLambda,
typename EngineLambda>
157 return engineLambda();
158 if (!cache_enabled || !metaData.hasFlags(fsFlags)) {
159 QFileSystemEngine::fillMetaData(fileEntry, metaData, fsFlags);
165 template <
typename Ret,
typename FSLambda,
typename EngineLambda>
169 return checkAttribute(Ret(), std::move(fsFlags), std::move(fsLambda), engineLambda);
QFileInfoPrivate(const QFileSystemEntry &file, const QFileSystemMetaData &data, std::unique_ptr< QAbstractFileEngine > engine)
bool const isDefaultConstructed
QFileInfoPrivate(const QFileSystemEntry &file, const QFileSystemMetaData &data)
Ret checkAttribute(QFileSystemMetaData::MetaDataFlags fsFlags, FSLambda fsLambda, EngineLambda engineLambda) const
QFileSystemMetaData metaData
QDateTime & getFileTime(QFile::FileTime) const
std::unique_ptr< QAbstractFileEngine > const fileEngine
uint getFileFlags(QAbstractFileEngine::FileFlags) const
void setCachedFlag(uint c) const
QString getFileOwner(QAbstractFileEngine::FileOwner own) const
bool getCachedFlag(uint c) const
QFileInfoPrivate(const QFileInfoPrivate ©)
QFileSystemEntry fileEntry
static QFileInfoPrivate * get(QFileInfo *fi)
QString getFileName(QAbstractFileEngine::FileName) const
QString fileNames[QAbstractFileEngine::NFileNames]
QFileInfoPrivate(const QString &file)
Ret checkAttribute(Ret defaultValue, QFileSystemMetaData::MetaDataFlags fsFlags, FSLambda fsLambda, EngineLambda engineLambda) const
QSharedData() noexcept
Constructs a QSharedData object with a reference count of 0.
Combined button and popup list for selecting options.
QDebug operator<<(QDebug dbg, const QFileInfo &fi)
bool comparesEqual(const QFileInfo &lhs, const QFileInfo &rhs)