diff options
author | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-01-01 11:40:09 +0000 |
---|---|---|
committer | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-01-01 11:40:09 +0000 |
commit | 7ed83b6c6666eb8b6b104c211ae7e52907350372 (patch) | |
tree | 4430b556abac0ad660a0aacf1887d77f85d8be02 /scribus/scgzfile.h | |
download | scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.gz scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.xz scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.zip |
Branch 1.3.5 tree to 1.4.x tree, goodbye 1.3.x
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17163 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'scribus/scgzfile.h')
-rw-r--r-- | scribus/scgzfile.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/scribus/scgzfile.h b/scribus/scgzfile.h new file mode 100644 index 0000000..775f8f1 --- /dev/null +++ b/scribus/scgzfile.h @@ -0,0 +1,52 @@ +/* +For general Scribus (>=1.3.2) copyright and licensing information please refer +to the COPYING file provided with the program. Following this notice may exist +a copyright and/or license notice that predates the release of Scribus 1.3.2 +for which a new license (GPL+exception) is in place. +*/ + +#ifndef SCGZFILE_H +#define SCGZFILE_H + +#include <QByteArray> +#include <QIODevice> +#include <QString> + +#include "scribusapi.h" + +struct ScGzFileDataPrivate; + +class SCRIBUS_API ScGzFile : public QIODevice +{ +protected: + QString m_fileName; + ScGzFileDataPrivate* m_data; + ScGzFileDataPrivate* newPrivateData(void); + void freeData(void); + + bool gzFileOpen(QString fileName, ScGzFileDataPrivate* data, QIODevice::OpenMode mode); + + virtual qint64 readData (char * data, qint64 maxSize); + virtual qint64 writeData (const char * data, qint64 maxSize); + +public: + ScGzFile(const QString& filename); + ~ScGzFile(void); + + static const int gzipExpansionFactor; + + virtual bool atEnd() const; + virtual bool open(QIODevice::OpenMode mode); + virtual void close(); + + bool errorOccurred(void) const; + int error(void) const; + + bool reset(void); + + static bool readFromFile(const QString& filename, QByteArray& bArray, uint maxBytes = 0); + static bool writeToFile (const QString& filename, const QByteArray& bArray); + static bool writeToFile (const QString& filename, const QByteArray& bArray, const char* header); +}; + +#endif |