7#if QT_CONFIG(temporaryfile)
10#include "qplatformdefs.h"
12#include "private/qtemporaryfile_p.h"
14#if defined(QT_BUILD_CORE_LIB)
28static_assert(std::is_nothrow_move_constructible_v<QTemporaryDir>);
29static_assert(std::is_nothrow_move_assignable_v<QTemporaryDir>);
32class QTemporaryDirPrivate
35 QTemporaryDirPrivate();
36 ~QTemporaryDirPrivate();
45QTemporaryDirPrivate::QTemporaryDirPrivate()
51QTemporaryDirPrivate::~QTemporaryDirPrivate()
55static QString defaultTemplateName()
58#if defined(QT_BUILD_CORE_LIB)
62 baseName =
"qt_temp"_L1;
67void QTemporaryDirPrivate::create(
const QString &templateName)
70 for (
int i = 0;
i < 256; ++
i) {
77 pathOrError = fileSystemEntry.filePath();
81 const int exists = ERROR_ALREADY_EXISTS;
82 int code = GetLastError();
84 const int exists = EEXIST;
141QTemporaryDir::QTemporaryDir()
142 : d_ptr(new QTemporaryDirPrivate)
144 d_ptr->create(defaultTemplateName());
160QTemporaryDir::QTemporaryDir(
const QString &templatePath)
161 : d_ptr(new QTemporaryDirPrivate)
163 if (templatePath.isEmpty())
164 d_ptr->create(defaultTemplateName());
166 d_ptr->create(templatePath);
209QTemporaryDir::~QTemporaryDir()
212 if (d_ptr->autoRemove)
222bool QTemporaryDir::isValid()
const
224 return d_ptr->success;
234QString QTemporaryDir::errorString()
const
236 return d_ptr->success ?
QString() : d_ptr->pathOrError;
243QString QTemporaryDir::path()
const
245 return d_ptr->success ? d_ptr->pathOrError :
QString();
287bool QTemporaryDir::autoRemove()
const
289 return d_ptr->autoRemove;
299void QTemporaryDir::setAutoRemove(
bool b)
301 d_ptr->autoRemove =
b;
309bool QTemporaryDir::remove()
318 qWarning() <<
"QTemporaryDir: Unable to remove"
320 <<
"most likely due to the presence of read-only files.";
QString applicationName
the name of this application
static bool isAbsolutePath(const QString &path)
Returns true if path is absolute; returns false if it is relative.
static QString tempPath()
Returns the absolute canonical path of the system's temporary directory.
static QString toNativeSeparators(const QString &pathName)
static bool createDirectory(const QFileSystemEntry &entry, bool createParents, std::optional< QFile::Permissions > permissions=std::nullopt)
\macro QT_RESTRICTED_CAST_FROM_ASCII
bool isEmpty() const noexcept
Returns true if the string has no characters; otherwise returns false.
Combined button and popup list for selecting options.
Q_DECL_COLD_FUNCTION Q_CORE_EXPORT QString qt_error_string(int errorCode=-1)
GLboolean GLboolean GLboolean b
GLsizei const GLchar *const * path
#define qUtf8Printable(string)
settings remove("monkey")