diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 18:42:24 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 18:42:24 +0000 |
commit | f508189682b6fba62e08feeb1596f682bad5fff9 (patch) | |
tree | 28aeb0e6c19386c385c1ce5edf8a92c1bca15281 /src/common/global/pfile.h | |
download | piklab-f508189682b6fba62e08feeb1596f682bad5fff9.tar.gz piklab-f508189682b6fba62e08feeb1596f682bad5fff9.zip |
Added KDE3 version of PikLab
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/piklab@1095639 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/common/global/pfile.h')
-rw-r--r-- | src/common/global/pfile.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/common/global/pfile.h b/src/common/global/pfile.h new file mode 100644 index 0000000..d0955e7 --- /dev/null +++ b/src/common/global/pfile.h @@ -0,0 +1,66 @@ +/*************************************************************************** + * Copyright (C) 2005-2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#ifndef PFILE_H +#define PFILE_H + +#include <qtextstream.h> +#include "purl.h" + +namespace PURL +{ +//----------------------------------------------------------------------------- +class FileBase +{ +public: + FileBase(Log::Generic &log, const QString &extension); + ~FileBase(); + QFile *qfile(); + const QFile *qfile() const; + QTextStream &stream(); + QString readText() { return stream().read(); } + QString readLine() { return stream().readLine(); } + QStringList readLines(); + QByteArray readAll(); + void appendText(const QString &text) { stream() << text; } + void flush(); + bool hasError() const; + QString errorString() const; + +protected: + KTempFile *_tmp; + QFile *_file; + QTextStream *_stream; + QString _error, _extension; + Log::Generic &_log; + +private: // disable copy constructor and operator = + FileBase(const FileBase &base); + FileBase &operator =(const FileBase &base); +}; + +//----------------------------------------------------------------------------- +class File : public FileBase +{ +public: + File(const Url &url, Log::Generic &log); + ~File() { close(); } + void setUrl(const Url &url); // close file too + Url url() const { return _url; } + bool openForWrite(); + bool openForRead(); + bool close(); + bool remove(); + +private: + Url _url; +}; + +} // namespace + +#endif |