KFilterDev Class Reference

`#include <kfilterdev.h>`

Inherits QIODevice.

## Public Member Functions

| KFilterDev (KFilterBase *filter, bool autoDeleteFilterBase=false)
virtual | ~KFilterDev ()
virtual bool | open (int mode)
virtual void | close ()
virtual void | flush ()
void | setOrigFileName (const QCString &fileName)
void | setSkipHeaders ()
virtual QIODevice::Offset | size () const
virtual QIODevice::Offset | at () const
virtual bool | at (QIODevice::Offset)
virtual bool | atEnd () const
virtual Q_LONG | readBlock (char *data, Q_ULONG maxlen)
virtual Q_LONG | writeBlock (const char *data, Q_ULONG len)
virtual int | getch ()
virtual int | putch (int)
virtual int | ungetch (int)

## Static Public Member Functions

static QIODevice * | createFilterDevice (KFilterBase *base, QFile *file) KDE_DEPRECATED
static QIODevice * | deviceForFile (const QString &fileName, const QString &mimetype=QString::null, bool forceFilter=false)
static QIODevice * | device (QIODevice *inDevice, const QString &mimetype)
static QIODevice * | device (QIODevice *inDevice, const QString &mimetype, bool autoDeleteInDevice)

## Detailed Description

A class for reading and writing compressed data onto a device (e.g.

file, but other usages are possible, like a buffer or a socket).

To simply read/write compressed files, see deviceForFile.

Author
  David Faure faure.nosp@m.@kde.nosp@m..org

Definition at line 36 of file kfilterdev.h.

## Constructor & Destructor Documentation

KFilterDev::KFilterDev | ( | KFilterBase * | filter,
|  | bool | autoDeleteFilterBase = `false`
| ) |  |

Constructs a KFilterDev for a given filter (e.g.

gzip, bzip2 etc.).

Parameters

  filter | the KFilterBase to use
  autoDeleteFilterBase | when true this object will become the owner of `filter`.

Definition at line 46 of file kfilterdev.cpp.

KFilterDev::~KFilterDev | ( |  | ) |

virtual

Destructs the KFilterDev.

Calls close() if the filter device is still open.

Definition at line 54 of file kfilterdev.cpp.

## Member Function Documentation

bool KFilterDev::at | ( | QIODevice::Offset | pos | ) |

virtual

That one can be quite slow, when going back.

Use with care.

Definition at line 190 of file kfilterdev.cpp.

void KFilterDev::close | ( |  | ) |

virtual

Close after reading or writing.

If the KFilterBase's device was opened by open(), it will be closed.

Definition at line 149 of file kfilterdev.cpp.

QIODevice * KFilterDev::createFilterDevice | ( | KFilterBase * | base,
|  | QFile * | file
| ) |  |

static

Call this to create the appropriate filter device for `base` working on `file` .

The returned QIODevice has to be deleted after using.

Deprecated:
  . Use deviceForFile instead. To be removed in KDE 3.0

Definition at line 66 of file kfilterdev.cpp.

QIODevice * KFilterDev::device | ( | QIODevice * | inDevice,
|  | const QString & | mimetype
| ) |  |

static

Creates an i/o device that is able to read from the QIODevice `inDevice`, whether the data is compressed or not.

Available compression filters (gzip/bzip2 etc.) will automatically be used.

The compression filter to be used is determined `mimetype` . Pass "application/x-gzip" or "application/x-bzip2" to use the corresponding decompression filter.

Warning: application/x-bzip2 may not be available. In that case 0 will be returned !

The returned QIODevice has to be deleted after using.

Parameters

  inDevice | input device, becomes owned by this device! Automatically deleted!
  mimetype | the mime type for the filter

Returns
  a QIODevice that filters the original stream. Must be deleted after using

Definition at line 101 of file kfilterdev.cpp.

QIODevice * KFilterDev::device | ( | QIODevice * | inDevice,
|  | const QString & | mimetype,
|  | bool | autoDeleteInDevice
| ) |  |

static

Creates an i/o device that is able to read from the QIODevice `inDevice`, whether the data is compressed or not.

Available compression filters (gzip/bzip2 etc.) will automatically be used.

The compression filter to be used is determined `mimetype` . Pass "application/x-gzip" or "application/x-bzip2" to use the corresponding decompression filter.

Warning: application/x-bzip2 may not be available. In that case 0 will be returned !

The returned QIODevice has to be deleted after using.

Parameters

  inDevice | input device. Won't be deleted if `autoDeleteInDevice` = false
  mimetype | the mime type for the filter
  autoDeleteInDevice | if true, `inDevice` will be deleted automatically

Returns
  a QIODevice that filters the original stream. Must be deleted after using

Since
  3.1

Definition at line 106 of file kfilterdev.cpp.

QIODevice * KFilterDev::deviceForFile | ( | const QString & | fileName,
|  | const QString & | mimetype = `QString::null`,
|  | bool | forceFilter = `false`
| ) |  |

static

Creates an i/o device that is able to read from `fileName`, whether it's compressed or not.

Available compression filters (gzip/bzip2 etc.) will automatically be used.

The compression filter to be used is determined from the `fileName` if `mimetype` is empty. Pass "application/x-gzip" or "application/x-bzip2" to force the corresponding decompression filter, if available.

Warning: application/x-bzip2 may not be available. In that case a QFile opened on the compressed data will be returned ! Use KFilterBase::findFilterByMimeType and code similar to what deviceForFile is doing, to better control what's happening.

The returned QIODevice has to be deleted after using.

Parameters

  fileName | the name of the file to filter
  mimetype | the mime type of the file to filter, or QString::null if unknown
  forceFilter | if true, the function will either find a compression filter, or return 0. If false, it will always return a QIODevice. If no filter is available it will return a simple QFile. This can be useful if the file is usable without a filter.

Returns
  if a filter has been found, the QIODevice for the filter. If the filter does not exist, the return value depends on `forceFilter`. The returned QIODevice has to be deleted after using.

Definition at line 81 of file kfilterdev.cpp.

bool KFilterDev::open | ( | int | mode | ) |

virtual

Open for reading or writing.

If the KFilterBase's device is not opened, it will be opened.

Definition at line 119 of file kfilterdev.cpp.

void KFilterDev::setOrigFileName | ( | const QCString & | fileName | ) |

For writing gzip compressed files only: set the name of the original file, to be used in the gzip header.

Parameters

  fileName | the name of the original file

Definition at line 472 of file kfilterdev.cpp.

void KFilterDev::setSkipHeaders | ( |  | ) |

Call this let this device skip the gzip headers when reading/writing.

This way KFilterDev (with gzip filter) can be used as a direct wrapper around zlib - this is used by KZip.

Since
  3.1

Definition at line 477 of file kfilterdev.cpp.

The documentation for this class was generated from the following files:

- kfilterdev.h
- kfilterdev.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys