summaryrefslogtreecommitdiffstats
path: root/quazip/quagzipfile.h
blob: 211ceadb58ef48a2075ddcb297fbb93c1f62c6c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef QUAZIP_QUAGZIPFILE_H
#define QUAZIP_QUAGZIPFILE_H

#include <QIODevice>
#include "quazip_global.h"

#include <zlib.h>

class QuaGzipFilePrivate;

class QUAZIP_EXPORT QuaGzipFile: public QIODevice {
  Q_OBJECT
public:
  QuaGzipFile();
  QuaGzipFile(QObject *parent);
  QuaGzipFile(const QString &fileName, QObject *parent = NULL);
  virtual ~QuaGzipFile();
  void setFileName(const QString& fileName);
  QString getFileName() const;
  virtual bool isSequential() const;
  virtual bool open(QIODevice::OpenMode mode);
  virtual bool open(int fd, QIODevice::OpenMode mode);
  virtual bool flush();
  virtual void close();
protected:
  virtual qint64 readData(char *data, qint64 maxSize);
  virtual qint64 writeData(const char *data, qint64 maxSize);
private:
    // not implemented by design to disable copy
    QuaGzipFile(const QuaGzipFile &that);
    QuaGzipFile& operator=(const QuaGzipFile &that);
    QuaGzipFilePrivate *d;
};

#endif // QUAZIP_QUAGZIPFILE_H