summaryrefslogtreecommitdiffstats
path: root/quazip/quaziodevice.h
blob: b061cd163f278d0ac46e8eb9c39cba00b5c9ea42 (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
#ifndef QUAZIP_QUAZIODEVICE_H
#define QUAZIP_QUAZIODEVICE_H

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

#include <zlib.h>

class QuaZIODevicePrivate;

class QUAZIP_EXPORT QuaZIODevice: public QIODevice {
  Q_OBJECT
public:
  QuaZIODevice(QIODevice *io, QObject *parent = NULL);
  ~QuaZIODevice();
  virtual bool flush();
  virtual bool open(QIODevice::OpenMode);
  virtual void close();
  QIODevice *getIoDevice() const;
  virtual bool isSequential() const;
protected:
  virtual qint64 readData(char *data, qint64 maxSize);
  virtual qint64 writeData(const char *data, qint64 maxSize);
private:
  QuaZIODevicePrivate *d;
};
#endif // QUAZIP_QUAZIODEVICE_H