19 #ifndef __kfilterbase__h
20 #define __kfilterbase__h
25 #include <tdelibs_export.h>
50 void setDevice( TQIODevice * dev,
bool autodelete =
false );
58 TQIODevice *
device() {
return m_dev; }
60 virtual void init(
int mode ) = 0;
62 virtual int mode()
const = 0;
64 virtual void terminate() {}
66 virtual void reset() {}
68 virtual bool readHeader() = 0;
70 virtual bool writeHeader(
const TQCString & filename ) = 0;
72 virtual void setOutBuffer(
char * data, uint maxlen ) = 0;
74 virtual void setInBuffer(
const char * data, uint size ) = 0;
76 virtual bool inBufferEmpty()
const {
return inBufferAvailable() == 0; }
78 virtual int inBufferAvailable()
const = 0;
80 virtual bool outBufferFull()
const {
return outBufferAvailable() == 0; }
82 virtual int outBufferAvailable()
const = 0;
85 enum Result { OK, END, ERROR };
87 virtual Result uncompress() = 0;
89 virtual Result compress(
bool finish ) = 0;
97 static KFilterBase * findFilterByFileName(
const TQString & fileName );
105 static KFilterBase * findFilterByMimeType(
const TQString & mimeType );
111 virtual void virtual_hook(
int id,
void* data );
113 class KFilterBasePrivate;
This is the base class for compression filters such as gzip and bzip2.
TQIODevice * device()
Returns the device on which the filter will work.