8#include <QtCore/qglobal.h>
10#if QT_CONFIG(temporaryfile)
12#include <QtCore/qfiledevice.h>
13#include <QtCore/qstring.h>
16#error qsavefile.h must be included before any header file that defines open
21class QAbstractFileEngine;
22class QSaveFilePrivate;
24class Q_CORE_EXPORT QSaveFile :
public QFileDevice
29 Q_DECLARE_PRIVATE(QSaveFile)
33 explicit QSaveFile(
const QString &name);
35 explicit QSaveFile(QObject *parent =
nullptr);
36 explicit QSaveFile(
const QString &name, QObject *parent);
40 QString fileName()
const override;
41 void setFileName(
const QString &name);
43 QFILE_MAYBE_NODISCARD
bool open(OpenMode flags) override;
48 void setDirectWriteFallback(
bool enabled);
49 bool directWriteFallback()
const;
52 qint64 writeData(
const char *data, qint64 len) override;
55 void close() override;
56#if !QT_CONFIG(translation)
57 static QString tr(
const char *string) {
return QString::fromLatin1(string); }
61 Q_DISABLE_COPY(QSaveFile)
62 friend class QFilePrivate;
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
static Q_DECL_COLD_FUNCTION bool file_already_open(QFile &file, const char *where=nullptr)
#define QFILEINFO_MAYBE_EXPLICIT
QList< QFileInfo > QFileInfoList