class KFilterDev |
|
|
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 |
|
Constructs a KFilterDev for a given filter (e.g. gzip, bzip2 etc.). filter - the KFilterBase to use autoDeleteFilterBase - when true this object will become the owner of filter. |
|
|
Close after reading or writing. If the KFilterBase's device was opened by open(), it will be closed. |
|
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-bzip" to use the corresponding decompression filter. Warning: application/x-bzip may not be available. In that case 0 will be returned ! The returned QIODevice has to be deleted after using. 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 |
|
Well , not really , since it supports seeking and KZip uses that . Reimplemented to return true . KFilterDev is a sequential QIODevice . 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-bzip" to force the corresponding decompression filter, if available. Warning: application/x-bzip 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.
fileName - the name of the file to filter mimetype - the mime type of the file to filter, or QString() 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. |
|
Open for reading or writing. If the KFilterBase's device is not opened, it will be opened. |
|
|
|
For writing gzip compressed files only: set the name of the original file, to be used in the gzip header. fileName - the name of the original file |
|
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. |
|