5#ifndef QFILESYSTEMENTRY_P_H
6#define QFILESYSTEMENTRY_P_H
19#include <QtCore/private/qglobal_p.h>
20#include <QtCore/qstring.h>
21#include <QtCore/qbytearray.h>
30 typedef QByteArray NativePath;
32 typedef QString NativePath;
34 struct FromNativePath{};
35 struct FromInternalPath{};
37 Q_AUTOTEST_EXPORT QFileSystemEntry();
38 Q_AUTOTEST_EXPORT
explicit QFileSystemEntry(
const QString &filePath);
40 Q_AUTOTEST_EXPORT QFileSystemEntry(
const QString &filePath, FromInternalPath dummy);
41 Q_AUTOTEST_EXPORT QFileSystemEntry(
const NativePath &nativeFilePath, FromNativePath dummy);
42 Q_AUTOTEST_EXPORT QFileSystemEntry(
const QString &filePath,
const NativePath &nativeFilePath);
44 Q_AUTOTEST_EXPORT QString filePath()
const;
45 Q_AUTOTEST_EXPORT QString fileName()
const;
46 Q_AUTOTEST_EXPORT QString path()
const;
47 Q_AUTOTEST_EXPORT NativePath nativeFilePath()
const;
48 Q_AUTOTEST_EXPORT QString baseName()
const;
49 Q_AUTOTEST_EXPORT QString completeBaseName()
const;
50 Q_AUTOTEST_EXPORT QString suffix()
const;
51 Q_AUTOTEST_EXPORT QString completeSuffix()
const;
52 Q_AUTOTEST_EXPORT
bool isAbsolute()
const;
53 Q_AUTOTEST_EXPORT
bool isRelative()
const;
54 Q_AUTOTEST_EXPORT
bool isClean()
const;
57 Q_AUTOTEST_EXPORT
bool isDriveRoot()
const;
58 static bool isDriveRootPath(
const QString &path);
59 static QString removeUncOrLongPathPrefix(QString path);
61 Q_AUTOTEST_EXPORT
bool isRoot()
const;
63 Q_AUTOTEST_EXPORT
bool isEmpty()
const;
67 *
this = QFileSystemEntry();
70 Q_CORE_EXPORT
static bool isRootPath(
const QString &path);
74 void resolveFilePath()
const;
76 void resolveNativeFilePath()
const;
78 void findLastSeparator()
const;
80 void findFileNameSeparators()
const;
82 mutable QString m_filePath;
83 mutable NativePath m_nativeFilePath;
85 mutable qint16 m_lastSeparator;
86 mutable qint16 m_firstDotInFileName;
87 mutable qint16 m_lastDotInFileName;
QDirPrivate(const QDirPrivate ©)
void clearCache(MetaDataClearing mode)
void initFileLists(const QDir &dir) const
QString resolveAbsoluteEntry() const
bool operator()(const QDirSortItem &, const QDirSortItem &) const
QDirSortItemComparator(QDir::SortFlags flags, QCollator *coll=nullptr)
int compareStrings(const QString &a, const QString &b, Qt::CaseSensitivity cs) const
Combined button and popup list for selecting options.
static void appendIfMatchesNonDirListingFlags(const QDirListing::DirEntry &dirEntry, QDir::Filters filters, QFileInfoList &l)
static qsizetype rootLength(QStringView name, QDirPrivate::PathNormalizations flags)
static bool qt_cleanPath(QString *path)
bool qt_isPathNormalized(const QString &path, QDirPrivate::PathNormalizations flags) noexcept
bool comparesEqual(const QDir &lhs, const QDir &rhs)
static bool treatAsAbsolute(const QString &path)
static bool checkPermissions(const QDirListing::DirEntry &dirEntry, QDir::Filters filters)
bool qt_normalizePathSegments(QString *path, QDirPrivate::PathNormalizations flags)
static qsizetype findStartOfNonNormalizedPath(const QChar *in, qsizetype i, qsizetype n, QDirPrivate::PathNormalizations flags) noexcept
static bool checkDotOrDotDot(const QDirListing::DirEntry &dirEntry, QDir::Filters filters)
Q_AUTOTEST_EXPORT bool qt_normalizePathSegments(QString *path, QDirPrivate::PathNormalizations flags)
bool qt_isPathNormalized(const QString &path, QDirPrivate::PathNormalizations flags) noexcept
QDirSortItem(const QFileInfo &fi, QDir::SortFlags sort)