Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qdir_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
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 QDIR_P_H
5#define QDIR_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 "qfilesystementry_p.h"
20
21#include <QtCore/qmutex.h>
22
23#include <memory>
24
26
28{
29public:
33 RemotePath = 0x02
34 };
35 Q_DECLARE_FLAGS(PathNormalizations, PathNormalization)
36 Q_FLAGS(PathNormalizations)
37
38 explicit QDirPrivate(const QString &path, const QStringList &nameFilters_ = QStringList(),
39 QDir::SortFlags sort_ = QDir::SortFlags(QDir::Name | QDir::IgnoreCase),
40 QDir::Filters filters_ = QDir::AllEntries);
41
42 explicit QDirPrivate(const QDirPrivate &copy); // Copies everything except mutex and fileEngine
43
44 bool exists() const;
45
46 void initFileLists(const QDir &dir) const;
47
48 static void sortFileList(QDir::SortFlags, const QFileInfoList &, QStringList *, QFileInfoList *);
49
50 static inline QChar getFilterSepChar(const QString &nameFilter);
51
52 static inline QStringList splitFilters(const QString &nameFilter, QChar sep = {});
53
54 void setPath(const QString &path);
55
58
60
62 QDir::SortFlags sort;
63 QDir::Filters filters;
64
65 std::unique_ptr<QAbstractFileEngine> fileEngine;
66
68
69 struct FileCache
70 {
74 std::atomic<bool> fileListsInitialized = false;
77 };
79};
80
81Q_DECLARE_OPERATORS_FOR_FLAGS(QDirPrivate::PathNormalizations)
82
83Q_AUTOTEST_EXPORT QString qt_normalizePathSegments(const QString &name, QDirPrivate::PathNormalizations flags, bool *ok = nullptr);
84
86
87#endif
\inmodule QtCore
Definition qchar.h:48
PathNormalization
Definition qdir_p.h:30
@ AllowUncPaths
Definition qdir_p.h:32
@ DefaultNormalization
Definition qdir_p.h:31
@ RemotePath
Definition qdir_p.h:33
MetaDataClearing
Definition qdir_p.h:56
@ KeepMetaData
Definition qdir_p.h:56
@ IncludingMetaData
Definition qdir_p.h:56
static QChar getFilterSepChar(const QString &nameFilter)
Definition qdir.cpp:131
std::unique_ptr< QAbstractFileEngine > fileEngine
Definition qdir_p.h:65
void setPath(const QString &path)
Definition qdir.cpp:151
QDir::Filters filters
Definition qdir_p.h:63
QFileSystemEntry dirEntry
Definition qdir_p.h:67
FileCache fileCache
Definition qdir_p.h:78
QDir::SortFlags sort
Definition qdir_p.h:62
void clearCache(MetaDataClearing mode)
Definition qdir.cpp:358
void initFileLists(const QDir &dir) const
Definition qdir.cpp:344
bool exists() const
Definition qdir.cpp:111
QStringList nameFilters
Definition qdir_p.h:61
static void sortFileList(QDir::SortFlags, const QFileInfoList &, QStringList *, QFileInfoList *)
Definition qdir.cpp:296
QString resolveAbsoluteEntry() const
Definition qdir.cpp:167
static QStringList splitFilters(const QString &nameFilter, QChar sep={})
Definition qdir.cpp:141
\inmodule QtCore
Definition qdir.h:19
@ IgnoreCase
Definition qdir.h:57
@ Name
Definition qdir.h:49
@ AllEntries
Definition qdir.h:25
\inmodule QtCore
Definition qmutex.h:285
\inmodule QtCore
Definition qshareddata.h:19
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
Combined button and popup list for selecting options.
static jboolean copy(JNIEnv *, jobject)
Q_AUTOTEST_EXPORT QString qt_normalizePathSegments(const QString &name, QDirPrivate::PathNormalizations flags, bool *ok=nullptr)
Definition qdir.cpp:2204
#define Q_DECLARE_FLAGS(Flags, Enum)
Definition qflags.h:174
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
Definition qflags.h:194
GLenum mode
GLbitfield flags
GLuint name
GLsizei const GLchar *const * path
static constexpr QChar sep
#define Q_AUTOTEST_EXPORT
#define Q_FLAGS(x)
QString dir
[11]
QStringList files
Definition qdir_p.h:72
std::atomic< bool > fileListsInitialized
Definition qdir_p.h:74
QFileSystemEntry absoluteDirEntry
Definition qdir_p.h:75
QFileSystemMetaData metaData
Definition qdir_p.h:76
QFileInfoList fileInfos
Definition qdir_p.h:73