ksavefile.h

00001 /*
00002    This file is part of the KDE libraries
00003    Copyright (c) 1999 Waldo Bastian <bastian@kde.org>
00004 
00005    This library is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Library General Public
00007    License version 2 as published by the Free Software Foundation.
00008 
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017    Boston, MA 02110-1301, USA.
00018 */
00019 
00020 #ifndef _KSAVEFILE_H_
00021 #define _KSAVEFILE_H_
00022 
00023 #include <qstring.h>
00024 #include <stdio.h>
00025 #include <errno.h>
00026 #include <ktempfile.h>
00027 
00028 class KSaveFilePrivate;
00029 
00041 class KDECORE_EXPORT KSaveFile
00042 {
00043 public:
00049    KSaveFile(const QString &filename, int mode = 0666 );
00050 
00055    ~KSaveFile();
00056 
00068    int status() const
00069     { return mTempFile.status(); }
00070 
00076    QString name() const;
00077 
00083    int handle() const
00084     { return mTempFile.handle(); }
00085 
00091    FILE *fstream()
00092     { return mTempFile.fstream(); }
00093 
00099    QFile *file()
00100     { return mTempFile.file(); }
00101 
00107    QTextStream *textStream()
00108     { return mTempFile.textStream(); }
00109 
00115    QDataStream *dataStream()
00116     { return mTempFile.dataStream(); }
00117 
00122    void abort();
00123 
00130    bool close();
00131 
00141    static bool backupFile( const QString& filename,
00142                            const QString& backupDir = QString::null,
00143                            const QString& backupExtension = QString::fromLatin1( "~" ) );
00144 
00145 private:
00146    QString mFileName;
00147    KTempFile mTempFile;
00148 
00149    KSaveFilePrivate *d;
00150 };
00151 
00152 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys