KDECore
ktempfile.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _KTEMPFILE_H_
00021 #define _KTEMPFILE_H_
00022
00023 #include <qstring.h>
00024 #include <stdio.h>
00025 #include <errno.h>
00026 #include "kdelibs_export.h"
00027
00028 class QFile;
00029 class QTextStream;
00030 class QDataStream;
00031 class KSaveFile;
00032 class KTempFilePrivate;
00033
00055 class KDECORE_EXPORT KTempFile
00056 {
00057 friend class KSaveFile;
00058 public:
00071 KTempFile(QString filePrefix=QString::null,
00072 QString fileExtension=QString::null,
00073 int mode = 0600 );
00074
00075
00080 ~KTempFile();
00081
00087 void setAutoDelete(bool autoDelete) { bAutoDelete = autoDelete; }
00088
00100 int status() const;
00101
00122 QString name() const;
00123
00129 int handle() const;
00130
00136 FILE *fstream();
00137
00143 QTextStream *textStream();
00144
00150 QDataStream *dataStream();
00151
00157 QFile *file();
00158
00163 void unlink();
00164
00175 bool sync();
00176
00183 bool close();
00184
00185 protected:
00189 KTempFile(bool);
00190
00195 bool create(const QString &filePrefix,
00196 const QString &fileExtension, int mode);
00197
00198 void setError(int error) { mError = error; }
00199 private:
00200 int mError;
00201 QString mTmpName;
00202 int mFd;
00203 FILE *mStream;
00204 QFile *mFile;
00205 QTextStream *mTextStream;
00206 QDataStream *mDataStream;
00207 bool bOpen;
00208 bool bAutoDelete;
00209
00210 KTempFilePrivate *d;
00211 };
00212
00213 #endif