8#include <QtCore/qbytearray.h>
9#include <QtCore/qcompare.h>
10#include <QtCore/qdir.h>
11#include <QtCore/qlist.h>
12#include <QtCore/qmetatype.h>
13#include <QtCore/qstring.h>
14#include <QtCore/qshareddata.h>
20class QStorageInfoPrivate;
21QT_DECLARE_QESDP_SPECIALIZATION_DTOR(QStorageInfoPrivate)
26 explicit QStorageInfo(
const QString &path);
27 explicit QStorageInfo(
const QDir &dir);
28 QStorageInfo(
const QStorageInfo &other);
29 QStorageInfo(QStorageInfo &&)
noexcept =
default;
32 QStorageInfo &operator=(
const QStorageInfo &other);
33 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QStorageInfo)
35 inline void swap(QStorageInfo &other)
noexcept
38 void setPath(
const QString &path);
40 QString rootPath()
const;
41 QByteArray device()
const;
42 QByteArray subvolume()
const;
43 QByteArray fileSystemType()
const;
45 QString displayName()
const;
47 qint64 bytesTotal()
const;
48 qint64 bytesFree()
const;
49 qint64 bytesAvailable()
const;
50 int blockSize()
const;
52 inline bool isRoot()
const;
53 bool isReadOnly()
const;
59 static QList<QStorageInfo> mountedVolumes();
60 static QStorageInfo root();
63 explicit QStorageInfo(QStorageInfoPrivate &dd);
64 friend class QStorageInfoPrivate;
65 friend Q_CORE_EXPORT
bool
66 comparesEqual(
const QStorageInfo &lhs,
const QStorageInfo &rhs)
noexcept;
67 Q_DECLARE_EQUALITY_COMPARABLE(QStorageInfo)
69 friend Q_CORE_EXPORT QDebug operator<<(QDebug,
const QStorageInfo &);
70 QExplicitlySharedDataPointer<QStorageInfoPrivate> d;
73inline bool QStorageInfo::isRoot()
const
74{
return *
this == QStorageInfo::root(); }
78#ifndef QT_NO_DEBUG_STREAM
79Q_CORE_EXPORT
QDebug operator<<(QDebug debug,
const QStorageInfo &);
84QT_DECL_METATYPE_EXTERN(QStorageInfo, Q_CORE_EXPORT)
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
#define Q_CHECK_FILE_NAME(name, result)
static int qt_lstatx(const char *, struct statx *)
static int qt_fstatx(int, struct statx *)
static QFileSystemMetaData::MetaDataFlags flagsFromStMode(mode_t mode, quint64 attributes)
static QByteArray & removeTrailingSlashes(QByteArray &path)
static QSystemError createDirectoryWithParents(const QByteArray &path, mode_t mode)
static constexpr QLatin1StringView nativeTempPath() noexcept
static int qt_statx(const char *, struct statx *)