summaryrefslogtreecommitdiffstats
path: root/scribus/scgzfile.h
diff options
context:
space:
mode:
authorcraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-01-01 11:40:09 +0000
committercraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-01-01 11:40:09 +0000
commit7ed83b6c6666eb8b6b104c211ae7e52907350372 (patch)
tree4430b556abac0ad660a0aacf1887d77f85d8be02 /scribus/scgzfile.h
downloadscribus-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.h52
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