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
qdirentryinfo_p.h
Go to the documentation of this file.
1
// Copyright (C) 2024 Ahmad Samir <a.samirh78@gmail.com>
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#ifndef QDIRENTRYINFO_P_H
5
#define QDIRENTRYINFO_P_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#include <QtCore/private/qfileinfo_p.h>
19
#include <QtCore/private/qfilesystementry_p.h>
20
#include <QtCore/private/qfilesystemmetadata_p.h>
21
22
QT_BEGIN_NAMESPACE
23
24
class
QDirEntryInfo
25
{
26
const
QFileSystemMetaData
&ensureFilled(QFileSystemMetaData::MetaDataFlags what)
27
{
28
if
(!metaData.
hasFlags
(what))
29
QFileSystemEngine::fillMetaData
(
entry
, metaData, what);
30
return
metaData;
31
}
32
33
public
:
34
const
QFileInfo
&
fileInfo
()
35
{
36
if
(!fileInfoOpt) {
37
fileInfoOpt.emplace(
new
QFileInfoPrivate
(
entry
, metaData));
38
metaData.
clear
();
39
}
40
return
*fileInfoOpt;
41
}
42
43
QString
fileName
()
44
{
return
fileInfoOpt ? fileInfoOpt->fileName() :
entry
.fileName(); }
45
QString
baseName
()
46
{
return
fileInfoOpt ? fileInfoOpt->baseName() :
entry
.baseName(); }
47
QString
completeBaseName
()
const
48
{
return
fileInfoOpt ? fileInfoOpt->completeBaseName() :
entry
.completeBaseName(); }
49
QString
suffix
()
const
50
{
return
fileInfoOpt ? fileInfoOpt->suffix() :
entry
.suffix(); }
51
QString
completeSuffix
()
const
52
{
return
fileInfoOpt ? fileInfoOpt->completeSuffix() :
entry
.completeSuffix(); }
53
QString
filePath
()
54
{
return
fileInfoOpt ? fileInfoOpt->filePath() :
entry
.filePath(); }
55
56
QString
bundleName
() {
return
fileInfo
().
bundleName
(); }
57
58
QString
canonicalFilePath
()
59
{
60
// QFileInfo caches these strings
61
return
fileInfo
().
canonicalFilePath
();
62
}
63
64
QString
absoluteFilePath
() {
65
// QFileInfo caches these strings
66
return
fileInfo
().
absoluteFilePath
();
67
}
68
69
QString
absolutePath
() {
70
// QFileInfo caches these strings
71
return
fileInfo
().
absolutePath
();
72
}
73
74
75
bool
isDir
() {
76
if
(fileInfoOpt)
77
return
fileInfoOpt->isDir();
78
79
return
ensureFilled(
QFileSystemMetaData::DirectoryType
).
isDirectory
();
80
}
81
82
bool
isFile
() {
83
if
(fileInfoOpt)
84
return
fileInfoOpt->isFile();
85
86
return
ensureFilled(
QFileSystemMetaData::FileType
).
isFile
();
87
}
88
89
bool
isSymLink
() {
90
if
(fileInfoOpt)
91
return
fileInfoOpt->isSymLink();
92
93
return
ensureFilled(
QFileSystemMetaData::LegacyLinkType
).
isLegacyLink
();
94
}
95
96
bool
isSymbolicLink
() {
97
if
(fileInfoOpt)
98
return
fileInfoOpt->isSymbolicLink();
99
100
return
ensureFilled(
QFileSystemMetaData::LinkType
).
isLink
();
101
}
102
103
bool
exists
() {
104
if
(fileInfoOpt)
105
return
fileInfoOpt->exists();
106
107
return
ensureFilled(
QFileSystemMetaData::ExistsAttribute
).
exists
();
108
}
109
110
bool
isHidden
() {
111
if
(fileInfoOpt)
112
return
fileInfoOpt->isHidden();
113
114
return
ensureFilled(
QFileSystemMetaData::HiddenAttribute
).
isHidden
();
115
}
116
117
bool
isReadable
() {
118
if
(fileInfoOpt)
119
return
fileInfoOpt->isReadable();
120
121
return
ensureFilled(
QFileSystemMetaData::UserReadPermission
).
isReadable
();
122
}
123
124
bool
isWritable
() {
125
if
(fileInfoOpt)
126
return
fileInfoOpt->isWritable();
127
128
return
ensureFilled(
QFileSystemMetaData::UserWritePermission
).
isWritable
();
129
}
130
131
bool
isExecutable
() {
132
if
(fileInfoOpt)
133
return
fileInfoOpt->isExecutable();
134
135
return
ensureFilled(
QFileSystemMetaData::UserExecutePermission
).
isExecutable
();
136
}
137
138
qint64
size
() {
return
fileInfo
().
size
(); }
139
140
QDateTime
fileTime
(
QFile::FileTime
type
,
const
QTimeZone
&
tz
)
141
{
142
return
fileInfo
().
fileTime
(
type
,
tz
);
143
}
144
145
private
:
146
friend
class
QDirListingPrivate
;
147
friend
class
QDirListing
;
148
149
QFileSystemEntry
entry
;
150
QFileSystemMetaData
metaData;
151
std::optional<QFileInfo> fileInfoOpt;
152
};
153
154
QT_END_NAMESPACE
155
156
#endif
// QDIRENTRYINFO_P_H
QDateTime
\inmodule QtCore\reentrant
Definition
qdatetime.h:283
QDirEntryInfo
Definition
qdirentryinfo_p.h:25
QDirEntryInfo::suffix
QString suffix() const
Definition
qdirentryinfo_p.h:49
QDirEntryInfo::isReadable
bool isReadable()
Definition
qdirentryinfo_p.h:117
QDirEntryInfo::baseName
QString baseName()
Definition
qdirentryinfo_p.h:45
QDirEntryInfo::isWritable
bool isWritable()
Definition
qdirentryinfo_p.h:124
QDirEntryInfo::filePath
QString filePath()
Definition
qdirentryinfo_p.h:53
QDirEntryInfo::isSymLink
bool isSymLink()
Definition
qdirentryinfo_p.h:89
QDirEntryInfo::fileInfo
const QFileInfo & fileInfo()
Definition
qdirentryinfo_p.h:34
QDirEntryInfo::absoluteFilePath
QString absoluteFilePath()
Definition
qdirentryinfo_p.h:64
QDirEntryInfo::canonicalFilePath
QString canonicalFilePath()
Definition
qdirentryinfo_p.h:58
QDirEntryInfo::isExecutable
bool isExecutable()
Definition
qdirentryinfo_p.h:131
QDirEntryInfo::fileTime
QDateTime fileTime(QFile::FileTime type, const QTimeZone &tz)
Definition
qdirentryinfo_p.h:140
QDirEntryInfo::completeSuffix
QString completeSuffix() const
Definition
qdirentryinfo_p.h:51
QDirEntryInfo::isFile
bool isFile()
Definition
qdirentryinfo_p.h:82
QDirEntryInfo::size
qint64 size()
Definition
qdirentryinfo_p.h:138
QDirEntryInfo::isHidden
bool isHidden()
Definition
qdirentryinfo_p.h:110
QDirEntryInfo::isSymbolicLink
bool isSymbolicLink()
Definition
qdirentryinfo_p.h:96
QDirEntryInfo::exists
bool exists()
Definition
qdirentryinfo_p.h:103
QDirEntryInfo::fileName
QString fileName()
Definition
qdirentryinfo_p.h:43
QDirEntryInfo::completeBaseName
QString completeBaseName() const
Definition
qdirentryinfo_p.h:47
QDirEntryInfo::isDir
bool isDir()
Definition
qdirentryinfo_p.h:75
QDirEntryInfo::bundleName
QString bundleName()
Definition
qdirentryinfo_p.h:56
QDirEntryInfo::absolutePath
QString absolutePath()
Definition
qdirentryinfo_p.h:69
QDirListingPrivate
Definition
qdirlisting.cpp:91
QDirListing
The QDirListing class provides an STL-style iterator for directory entries.
Definition
qdirlisting.h:18
QFileDevice::FileTime
FileTime
Definition
qfiledevice.h:57
QFileInfoPrivate
Definition
qfileinfo_p.h:33
QFileInfo
Definition
qfileinfo.h:23
QFileInfo::bundleName
QString bundleName() const
Definition
qfileinfo.cpp:818
QFileInfo::absoluteFilePath
QString absoluteFilePath() const
Definition
qfileinfo.cpp:578
QFileInfo::fileTime
QDateTime fileTime(QFile::FileTime time) const
QFileInfo::absolutePath
QString absolutePath() const
Returns the absolute path of the file system entry this QFileInfo refers to, excluding the entry's na...
Definition
qfileinfo.cpp:621
QFileInfo::size
qint64 size() const
Returns the file size in bytes.
Definition
qfileinfo.cpp:1478
QFileInfo::canonicalFilePath
QString canonicalFilePath() const
Returns the file system entry's canonical path, including the entry's name, that is,...
Definition
qfileinfo.cpp:596
QFileSystemEngine::fillMetaData
static bool fillMetaData(const QFileSystemEntry &entry, QFileSystemMetaData &data, QFileSystemMetaData::MetaDataFlags what)
Definition
qfilesystemengine_unix.cpp:354
QFileSystemEntry
Definition
qfilesystementry_p.h:25
QFileSystemMetaData
Definition
qfilesystemmetadata_p.h:41
QFileSystemMetaData::isReadable
bool isReadable() const
Definition
qfilesystemmetadata_p.h:194
QFileSystemMetaData::isLegacyLink
bool isLegacyLink() const
Definition
qfilesystemmetadata_p.h:168
QFileSystemMetaData::hasFlags
bool hasFlags(MetaDataFlags flags) const
Definition
qfilesystemmetadata_p.h:141
QFileSystemMetaData::exists
bool exists() const
Definition
qfilesystemmetadata_p.h:161
QFileSystemMetaData::isWritable
bool isWritable() const
Definition
qfilesystemmetadata_p.h:195
QFileSystemMetaData::isDirectory
bool isDirectory() const
Definition
qfilesystemmetadata_p.h:165
QFileSystemMetaData::isHidden
bool isHidden() const
Definition
qfilesystemmetadata_p.h:170
QFileSystemMetaData::isLink
bool isLink() const
Definition
qfilesystemmetadata_p.h:163
QFileSystemMetaData::isExecutable
bool isExecutable() const
Definition
qfilesystemmetadata_p.h:196
QFileSystemMetaData::isFile
bool isFile() const
Definition
qfilesystemmetadata_p.h:164
QFileSystemMetaData::LegacyLinkType
@ LegacyLinkType
Definition
qfilesystemmetadata_p.h:86
QFileSystemMetaData::ExistsAttribute
@ ExistsAttribute
Definition
qfilesystemmetadata_p.h:93
QFileSystemMetaData::UserExecutePermission
@ UserExecutePermission
Definition
qfilesystemmetadata_p.h:52
QFileSystemMetaData::HiddenAttribute
@ HiddenAttribute
Definition
qfilesystemmetadata_p.h:91
QFileSystemMetaData::LinkType
@ LinkType
Definition
qfilesystemmetadata_p.h:67
QFileSystemMetaData::DirectoryType
@ DirectoryType
Definition
qfilesystemmetadata_p.h:69
QFileSystemMetaData::UserWritePermission
@ UserWritePermission
Definition
qfilesystemmetadata_p.h:52
QFileSystemMetaData::UserReadPermission
@ UserReadPermission
Definition
qfilesystemmetadata_p.h:52
QFileSystemMetaData::FileType
@ FileType
Definition
qfilesystemmetadata_p.h:68
QFileSystemMetaData::clear
void clear()
Definition
qfilesystemmetadata_p.h:151
QString
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition
qstring.h:129
QTimeZone
\inmodule QtCore
Definition
qtimezone.h:26
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1590
type
GLenum type
Definition
qopengles2ext.h:150
tz
GLbyte GLbyte tz
Definition
qopenglext.h:6700
entry
GLuint entry
Definition
qopenglext.h:11002
qint64
long long qint64
Definition
qtypes.h:60
qtbase
src
corelib
io
qdirentryinfo_p.h
Generated by
1.10.0