src/corelib/io/qtemporaryfile.h

Go to the documentation of this file.
00001 /****************************************************************************
00002 **
00003 ** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.
00004 **
00005 ** This file is part of the QtCore module of the Qt Toolkit.
00006 **
00007 ** This file may be used under the terms of the GNU General Public
00008 ** License version 2.0 as published by the Free Software Foundation
00009 ** and appearing in the file LICENSE.GPL included in the packaging of
00010 ** this file.  Please review the following information to ensure GNU
00011 ** General Public Licensing requirements will be met:
00012 ** http://www.trolltech.com/products/qt/opensource.html
00013 **
00014 ** If you are unsure which license is appropriate for your use, please
00015 ** review the following information:
00016 ** http://www.trolltech.com/products/qt/licensing.html or contact the
00017 ** sales department at sales@trolltech.com.
00018 **
00019 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00020 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00021 **
00022 ****************************************************************************/
00023 
00024 #ifndef QTEMPORARYFILE_H
00025 #define QTEMPORARYFILE_H
00026 
00027 #include <QtCore/qiodevice.h>
00028 #include <QtCore/qfile.h>
00029 
00030 #ifdef open
00031 #error qtemporaryfile.h must be included before any header file that defines open
00032 #endif
00033 
00034 QT_BEGIN_HEADER
00035 
00036 QT_MODULE(Core)
00037 
00038 class QTemporaryFilePrivate;
00039 
00040 class Q_CORE_EXPORT QTemporaryFile : public QFile
00041 {
00042 #ifndef QT_NO_QOBJECT
00043     Q_OBJECT
00044 #endif
00045     Q_DECLARE_PRIVATE(QTemporaryFile)
00046 
00047 public:
00048     QTemporaryFile();
00049     explicit QTemporaryFile(const QString &templateName);
00050 #ifndef QT_NO_QOBJECT
00051     explicit QTemporaryFile(QObject *parent);
00052     QTemporaryFile(const QString &templateName, QObject *parent);
00053 #endif
00054     ~QTemporaryFile();
00055 
00056     bool autoRemove() const;
00057     void setAutoRemove(bool b);
00058 
00059     // ### Hides open(flags)
00060     bool open() { return open(QIODevice::ReadWrite); }
00061 
00062     QString fileName() const;
00063     QString fileTemplate() const;
00064     void setFileTemplate(const QString &name);
00065 
00066     inline static QTemporaryFile *createLocalFile(const QString &fileName)
00067         { QFile file(fileName); return createLocalFile(file); }
00068     static QTemporaryFile *createLocalFile(QFile &file);
00069 
00070     virtual QAbstractFileEngine *fileEngine() const;
00071 
00072 protected:
00073     bool open(OpenMode flags);
00074 
00075 private:
00076     Q_DISABLE_COPY(QTemporaryFile)
00077 };
00078 
00079 QT_END_HEADER
00080 
00081 #endif // QTEMPORARYFILE_H

Generated on Thu Mar 15 11:53:20 2007 for Qt 4.2 User's Guide by  doxygen 1.5.1