7#ifndef __kfilterbase__h
8#define __kfilterbase__h
10#include <karchive_export.h>
14class KFilterBasePrivate;
37 void setDevice(QIODevice *dev,
bool autodelete =
false);
47 virtual bool init(
int mode) = 0;
49 virtual int mode()
const = 0;
51 virtual bool terminate();
55 virtual bool readHeader() = 0;
57 virtual bool writeHeader(
const QByteArray &filename) = 0;
59 virtual void setOutBuffer(
char *data, uint maxlen) = 0;
61 virtual void setInBuffer(
const char *data, uint size) = 0;
63 virtual bool inBufferEmpty()
const;
65 virtual int inBufferAvailable()
const = 0;
67 virtual bool outBufferFull()
const;
69 virtual int outBufferAvailable()
const = 0;
78 virtual Result uncompress() = 0;
80 virtual Result compress(
bool finish) = 0;
95 void setFilterFlags(FilterFlags flags);
96 FilterFlags filterFlags()
const;
106 KFilterBasePrivate *
const d;
This is the base class for compression filters such as gzip and bzip2.
Definition kfilterbase.h:27
virtual void virtual_hook(int id, void *data)
Virtual hook, used to add new "virtual" functions while maintaining binary compatibility.
QIODevice * device()
Returns the device on which the filter will work.
void setDevice(QIODevice *dev, bool autodelete=false)
Sets the device on which the filter will work.