ktempfile.h
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
00027 class QFile;
00028 class QTextStream;
00029 class QDataStream;
00030 class KSaveFile;
00031 class KTempFilePrivate;
00032
00054 class KTempFile
00055 {
00056 friend class KSaveFile;
00057 public:
00069 KTempFile(QString filePrefix=QString::null,
00070 QString fileExtension=QString::null,
00071 int mode = 0600 );
00072
00073
00078 ~KTempFile();
00079
00085 void setAutoDelete(bool autoDelete) { bAutoDelete = autoDelete; }
00086
00098 int status() const;
00099
00105 QString name() const;
00106
00112 int handle() const;
00113
00119 FILE *fstream();
00120
00126 QTextStream *textStream();
00127
00133 QDataStream *dataStream();
00134
00140 QFile *file();
00141
00146 void unlink();
00147
00154 bool close();
00155
00156 protected:
00160 KTempFile(bool);
00161
00166 bool create(const QString &filePrefix,
00167 const QString &fileExtension, int mode);
00168
00169 void setError(int error) { mError = error; }
00170 private:
00171 int mError;
00172 QString mTmpName;
00173 int mFd;
00174 FILE *mStream;
00175 QFile *mFile;
00176 QTextStream *mTextStream;
00177 QDataStream *mDataStream;
00178 bool bOpen;
00179 bool bAutoDelete;
00180
00181 KTempFilePrivate *d;
00182 };
00183
00184 #endif
This file is part of the documentation for kdelibs Version 3.1.5.