27 const QFileSystemMetaData &ensureFilled(QFileSystemMetaData::MetaDataFlags what)
29 if (!metaData.hasFlags(what))
30 QFileSystemEngine::fillMetaData(entry, metaData, what);
49 fileInfoOpt.emplace(
new QFileInfoPrivate(entry, metaData));
56 {
return fileInfoOpt ? fileInfoOpt->fileName() : entry.fileName(); }
58 {
return fileInfoOpt ? fileInfoOpt->baseName() : entry.baseName(); }
60 {
return fileInfoOpt ? fileInfoOpt->completeBaseName() : entry.completeBaseName(); }
62 {
return fileInfoOpt ? fileInfoOpt->suffix() : entry.suffix(); }
64 {
return fileInfoOpt ? fileInfoOpt->completeSuffix() : entry.completeSuffix(); }
66 {
return fileInfoOpt ? fileInfoOpt->filePath() : entry.filePath(); }
89 return fileInfoOpt->isDir();
91 return ensureFilled(QFileSystemMetaData::DirectoryType).isDirectory();
96 return fileInfoOpt->isFile();
98 return ensureFilled(QFileSystemMetaData::FileType).isFile();
103 return fileInfoOpt->isSymLink();
105 return ensureFilled(QFileSystemMetaData::LegacyLinkType).isLegacyLink();
110 return fileInfoOpt->isSymbolicLink();
112 return ensureFilled(QFileSystemMetaData::LinkType).isLink();
117 return fileInfoOpt->exists();
119 return ensureFilled(QFileSystemMetaData::ExistsAttribute).exists();
124 return fileInfoOpt->isHidden();
126 return ensureFilled(QFileSystemMetaData::HiddenAttribute).isHidden();
131 return fileInfoOpt->isReadable();
133 return ensureFilled(QFileSystemMetaData::UserReadPermission).isReadable();
138 return fileInfoOpt->isWritable();
140 return ensureFilled(QFileSystemMetaData::UserWritePermission).isWritable();
145 return fileInfoOpt->isExecutable();
147 return ensureFilled(QFileSystemMetaData::UserExecutePermission).isExecutable();
160 friend class QFileSystemIterator;
163 QFileSystemEntry entry;
164 QFileSystemMetaData metaData;
QDirEntryInfo(QFileSystemEntry &&e, QFileSystemMetaData &&md)
const QFileInfo & fileInfo()
QString absoluteFilePath()
QString canonicalFilePath()
QDateTime fileTime(QFile::FileTime type, const QTimeZone &tz)
QString completeSuffix() const
QDirEntryInfo(QFileInfo &&info)
QString completeBaseName() const