<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US"> <head> <title>kio/kio: KFilterDev Class Reference (kio/kio)</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="pics-label" content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline DE v2.0" l gen true for "http://www.kde.org" r (nz 1 vz 1 lz 1 oz 1 cb 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://www.kde.org" r (n 0 s 0 v 0 l 0))' /> <meta name="trademark" content="KDE e.V." /> <meta name="description" content="K Desktop Environment Homepage, KDE.org" /> <meta name="MSSmartTagsPreventParsing" content="true" /> <meta name="robots" content="all" /> <link rel="shortcut icon" href="../../../favicon.ico" /> <link rel="stylesheet" media="screen" type="text/css" title="APIDOX" href="doxygen.css" /> </head> <body> <div id="nav_header_top" align="right"> <a href="#content" class="doNotDisplay" accesskey="2">Skip to main content ::</a> <a href="../../.."><img id="nav_header_logo" alt="Home" align="left" src="../../../kde_gear_64.png" border="0" /></a> <span class="doNotDisplay">::</span> <div id="nav_header_title" align="left">KDE API Reference</div> </div> <div id="nav_header_bottom" align="right"> <span class="doNotDisplay">:: <a href="#navigation" accesskey="5">Skip to Link Menu</a><br/></span> <div id="nav_header_bottom_right" style="text-align: left;"> / <a href="../../..">API Reference</a> / <a href="../../html/index.html">kio</a> / <a href=".">kio</a> </div> </div> <table id="main" border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td valign="top" class="menuheader" height="0"></td> <td id="contentcolumn" valign="top" rowspan="2" > <div id="content" style="padding-top: 0px;"><div style="width:100%; margin: 0px; padding: 0px;"> <a name="content"></a> <!-- Generated by Doxygen 1.7.4 --> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> </div> <div class="headertitle"> <div class="title">KFilterDev Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="KFilterDev" --><!-- doxytag: inherits="QIODevice" --> <p>A class for reading and writing compressed data onto a device (e.g. <a href="classKFilterDev.html#details">More...</a></p> <p><code>#include <<a class="el" href="kfilterdev_8h_source.html">kfilterdev.h</a>></code></p> <div class="dynheader"> Inheritance diagram for KFilterDev:</div> <div class="dyncontent"> <div class="center"> <img src="classKFilterDev.png" usemap="#KFilterDev_map" alt=""/> <map id="KFilterDev_map" name="KFilterDev_map"> <area href="qiodevice.html" alt="QIODevice" shape="rect" coords="0,0,75,24"/> </map> </div></div> <p><a href="classKFilterDev-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classKFilterDev.html#aab24827abc4d813c222af3a4fc46fe91">KFilterDev</a> (<a class="el" href="classKFilterBase.html">KFilterBase</a> *filter, bool autoDeleteFilterBase=false)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classKFilterDev.html#adae6c39a80f3aad6b8387a8c3c2bedd5">~KFilterDev</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classKFilterDev.html#a76477d8188e2c503596085563592b268">open</a> (int <a class="elRef" href="qiodevice.html#mode">mode</a>)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKFilterDev.html#aa1400ff3a0888e986cd677f5f4f8f59a">close</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa7becb3962a737532c7616ea4b3a8d07"></a><!-- doxytag: member="KFilterDev::flush" ref="aa7becb3962a737532c7616ea4b3a8d07" args="()" --> virtual void </td><td class="memItemRight" valign="bottom"><b>flush</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKFilterDev.html#ac48b10dd86024843e29b1ae263d4a457">setOrigFileName</a> (const <a class="elRef" href="qcstring.html">QCString</a> &fileName)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKFilterDev.html#ad4d43dc1c8ceae1159723b624cc4f4f3">setSkipHeaders</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4d3d30bb47b4bd15ad144ccd5f49d36"></a><!-- doxytag: member="KFilterDev::size" ref="af4d3d30bb47b4bd15ad144ccd5f49d36" args="() const " --> virtual <a class="elRef" href="qiodevice.html#Offset">QIODevice::Offset</a> </td><td class="memItemRight" valign="bottom"><b>size</b> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac99c129ef3fa1a28c25a6fcc769e93e4"></a><!-- doxytag: member="KFilterDev::at" ref="ac99c129ef3fa1a28c25a6fcc769e93e4" args="() const " --> virtual <a class="elRef" href="qiodevice.html#Offset">QIODevice::Offset</a> </td><td class="memItemRight" valign="bottom"><b>at</b> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classKFilterDev.html#ac89bb389d5cdd11cab148e041b4ebcd8">at</a> (<a class="elRef" href="qiodevice.html#Offset">QIODevice::Offset</a>)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95dc787af9c75a50ce5d643691cb36c8"></a><!-- doxytag: member="KFilterDev::atEnd" ref="a95dc787af9c75a50ce5d643691cb36c8" args="() const " --> virtual bool </td><td class="memItemRight" valign="bottom"><b>atEnd</b> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab65676357760fef44953f98ccb2a9dde"></a><!-- doxytag: member="KFilterDev::readBlock" ref="ab65676357760fef44953f98ccb2a9dde" args="(char *data, Q_ULONG maxlen)" --> virtual Q_LONG </td><td class="memItemRight" valign="bottom"><b>readBlock</b> (char *data, Q_ULONG maxlen)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add3846fd8db3856070f2aabb97c79a89"></a><!-- doxytag: member="KFilterDev::writeBlock" ref="add3846fd8db3856070f2aabb97c79a89" args="(const char *data, Q_ULONG len)" --> virtual Q_LONG </td><td class="memItemRight" valign="bottom"><b>writeBlock</b> (const char *data, Q_ULONG len)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad760799fc4776aac61fefc7a4c341866"></a><!-- doxytag: member="KFilterDev::getch" ref="ad760799fc4776aac61fefc7a4c341866" args="()" --> virtual int </td><td class="memItemRight" valign="bottom"><b>getch</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8cb7de3f8ce10bbc85f356acc29bfe21"></a><!-- doxytag: member="KFilterDev::putch" ref="a8cb7de3f8ce10bbc85f356acc29bfe21" args="(int)" --> virtual int </td><td class="memItemRight" valign="bottom"><b>putch</b> (int)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74c9fa6a20bc235207aaed076bf5636c"></a><!-- doxytag: member="KFilterDev::ungetch" ref="a74c9fa6a20bc235207aaed076bf5636c" args="(int)" --> virtual int </td><td class="memItemRight" valign="bottom"><b>ungetch</b> (int)</td></tr> <tr><td colspan="2"><h2><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="qiodevice.html">QIODevice</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classKFilterDev.html#a47815748f45b3b46c0ced7cc53bfae2e">createFilterDevice</a> (<a class="el" href="classKFilterBase.html">KFilterBase</a> *base, <a class="elRef" href="qfile.html">QFile</a> *file) KDE_DEPRECATED</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="qiodevice.html">QIODevice</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classKFilterDev.html#aafd470e4fde55cd53995b7167506fc09">deviceForFile</a> (const <a class="elRef" href="qstring.html">QString</a> &fileName, const <a class="elRef" href="qstring.html">QString</a> &mimetype=QString::null, bool forceFilter=false)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="qiodevice.html">QIODevice</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classKFilterDev.html#a68d6bab5c60b94f2b08dabfbd7c17cf8">device</a> (<a class="elRef" href="qiodevice.html">QIODevice</a> *inDevice, const <a class="elRef" href="qstring.html">QString</a> &mimetype)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="qiodevice.html">QIODevice</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classKFilterDev.html#aa295958f50deb549674b80104722458e">device</a> (<a class="elRef" href="qiodevice.html">QIODevice</a> *inDevice, const <a class="elRef" href="qstring.html">QString</a> &mimetype, bool autoDeleteInDevice)</td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>A class for reading and writing compressed data onto a device (e.g. </p> <p>file, but other usages are possible, like a buffer or a socket).</p> <p>To simply read/write compressed files, see deviceForFile.</p> <dl class="author"><dt><b>Author:</b></dt><dd>David Faure <<a href="mailto:faure@kde.org">faure@kde.org</a>> </dd></dl> <p>Definition at line <a class="el" href="kfilterdev_8h_source.html#l00036">36</a> of file <a class="el" href="kfilterdev_8h_source.html">kfilterdev.h</a>.</p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="aab24827abc4d813c222af3a4fc46fe91"></a><!-- doxytag: member="KFilterDev::KFilterDev" ref="aab24827abc4d813c222af3a4fc46fe91" args="(KFilterBase *filter, bool autoDeleteFilterBase=false)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">KFilterDev::KFilterDev </td> <td>(</td> <td class="paramtype"><a class="el" href="classKFilterBase.html">KFilterBase</a> * </td> <td class="paramname"><em>filter</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>autoDeleteFilterBase</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Constructs a <a class="el" href="classKFilterDev.html" title="A class for reading and writing compressed data onto a device (e.g.">KFilterDev</a> for a given filter (e.g. </p> <p>gzip, bzip2 etc.). </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">filter</td><td>the <a class="el" href="classKFilterBase.html" title="This is the base class for compression filters such as gzip and bzip2.">KFilterBase</a> to use </td></tr> <tr><td class="paramname">autoDeleteFilterBase</td><td>when true this object will become the owner of <code>filter</code>. </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="kfilterdev_8cpp_source.html#l00046">46</a> of file <a class="el" href="kfilterdev_8cpp_source.html">kfilterdev.cpp</a>.</p> </div> </div> <a class="anchor" id="adae6c39a80f3aad6b8387a8c3c2bedd5"></a><!-- doxytag: member="KFilterDev::~KFilterDev" ref="adae6c39a80f3aad6b8387a8c3c2bedd5" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">KFilterDev::~KFilterDev </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Destructs the <a class="el" href="classKFilterDev.html" title="A class for reading and writing compressed data onto a device (e.g.">KFilterDev</a>. </p> <p>Calls <a class="el" href="classKFilterDev.html#aa1400ff3a0888e986cd677f5f4f8f59a" title="Close after reading or writing.">close()</a> if the filter device is still open. </p> <p>Definition at line <a class="el" href="kfilterdev_8cpp_source.html#l00054">54</a> of file <a class="el" href="kfilterdev_8cpp_source.html">kfilterdev.cpp</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="ac89bb389d5cdd11cab148e041b4ebcd8"></a><!-- doxytag: member="KFilterDev::at" ref="ac89bb389d5cdd11cab148e041b4ebcd8" args="(QIODevice::Offset)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool KFilterDev::at </td> <td>(</td> <td class="paramtype"><a class="elRef" href="qiodevice.html#Offset">QIODevice::Offset</a> </td> <td class="paramname"><em>pos</em></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>That one can be quite slow, when going back. </p> <p>Use with care. </p> <p>Definition at line <a class="el" href="kfilterdev_8cpp_source.html#l00190">190</a> of file <a class="el" href="kfilterdev_8cpp_source.html">kfilterdev.cpp</a>.</p> </div> </div> <a class="anchor" id="aa1400ff3a0888e986cd677f5f4f8f59a"></a><!-- doxytag: member="KFilterDev::close" ref="aa1400ff3a0888e986cd677f5f4f8f59a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KFilterDev::close </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Close after reading or writing. </p> <p>If the KFilterBase's device was opened by <a class="el" href="classKFilterDev.html#a76477d8188e2c503596085563592b268" title="Open for reading or writing.">open()</a>, it will be closed. </p> <p>Reimplemented from <a class="elRef" href="qiodevice.html#close">QIODevice</a>.</p> <p>Definition at line <a class="el" href="kfilterdev_8cpp_source.html#l00149">149</a> of file <a class="el" href="kfilterdev_8cpp_source.html">kfilterdev.cpp</a>.</p> </div> </div> <a class="anchor" id="a47815748f45b3b46c0ced7cc53bfae2e"></a><!-- doxytag: member="KFilterDev::createFilterDevice" ref="a47815748f45b3b46c0ced7cc53bfae2e" args="(KFilterBase *base, QFile *file) KDE_DEPRECATED" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" href="qiodevice.html">QIODevice</a> * KFilterDev::createFilterDevice </td> <td>(</td> <td class="paramtype"><a class="el" href="classKFilterBase.html">KFilterBase</a> * </td> <td class="paramname"><em>base</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="elRef" href="qfile.html">QFile</a> * </td> <td class="paramname"><em>file</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Call this to create the appropriate filter device for <code>base</code> working on <code>file</code> . </p> <p>The returned <a class="elRef" href="qiodevice.html">QIODevice</a> has to be deleted after using. </p> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd>. Use deviceForFile instead. To be removed in KDE 3.0 </dd></dl> <p>Definition at line <a class="el" href="kfilterdev_8cpp_source.html#l00066">66</a> of file <a class="el" href="kfilterdev_8cpp_source.html">kfilterdev.cpp</a>.</p> </div> </div> <a class="anchor" id="a68d6bab5c60b94f2b08dabfbd7c17cf8"></a><!-- doxytag: member="KFilterDev::device" ref="a68d6bab5c60b94f2b08dabfbd7c17cf8" args="(QIODevice *inDevice, const QString &mimetype)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" href="qiodevice.html">QIODevice</a> * KFilterDev::device </td> <td>(</td> <td class="paramtype"><a class="elRef" href="qiodevice.html">QIODevice</a> * </td> <td class="paramname"><em>inDevice</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" href="qstring.html">QString</a> & </td> <td class="paramname"><em>mimetype</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Creates an i/o device that is able to read from the <a class="elRef" href="qiodevice.html">QIODevice</a> <code>inDevice</code>, whether the data is compressed or not. </p> <p>Available compression filters (gzip/bzip2 etc.) will automatically be used.</p> <p>The compression filter to be used is determined <code>mimetype</code> . Pass "application/x-gzip" or "application/x-bzip2" to use the corresponding decompression filter.</p> <p>Warning: application/x-bzip2 may not be available. In that case 0 will be returned !</p> <p>The returned <a class="elRef" href="qiodevice.html">QIODevice</a> has to be deleted after using. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">inDevice</td><td>input device, becomes owned by this device! Automatically deleted! </td></tr> <tr><td class="paramname">mimetype</td><td>the mime type for the filter </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>a <a class="elRef" href="qiodevice.html">QIODevice</a> that filters the original stream. Must be deleted after using </dd></dl> <p>Definition at line <a class="el" href="kfilterdev_8cpp_source.html#l00101">101</a> of file <a class="el" href="kfilterdev_8cpp_source.html">kfilterdev.cpp</a>.</p> </div> </div> <a class="anchor" id="aa295958f50deb549674b80104722458e"></a><!-- doxytag: member="KFilterDev::device" ref="aa295958f50deb549674b80104722458e" args="(QIODevice *inDevice, const QString &mimetype, bool autoDeleteInDevice)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" href="qiodevice.html">QIODevice</a> * KFilterDev::device </td> <td>(</td> <td class="paramtype"><a class="elRef" href="qiodevice.html">QIODevice</a> * </td> <td class="paramname"><em>inDevice</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" href="qstring.html">QString</a> & </td> <td class="paramname"><em>mimetype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>autoDeleteInDevice</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Creates an i/o device that is able to read from the <a class="elRef" href="qiodevice.html">QIODevice</a> <code>inDevice</code>, whether the data is compressed or not. </p> <p>Available compression filters (gzip/bzip2 etc.) will automatically be used.</p> <p>The compression filter to be used is determined <code>mimetype</code> . Pass "application/x-gzip" or "application/x-bzip2" to use the corresponding decompression filter.</p> <p>Warning: application/x-bzip2 may not be available. In that case 0 will be returned !</p> <p>The returned <a class="elRef" href="qiodevice.html">QIODevice</a> has to be deleted after using. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">inDevice</td><td>input device. Won't be deleted if <code>autoDeleteInDevice</code> = false </td></tr> <tr><td class="paramname">mimetype</td><td>the mime type for the filter </td></tr> <tr><td class="paramname">autoDeleteInDevice</td><td>if true, <code>inDevice</code> will be deleted automatically </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>a <a class="elRef" href="qiodevice.html">QIODevice</a> that filters the original stream. Must be deleted after using </dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>3.1 </dd></dl> <p>Definition at line <a class="el" href="kfilterdev_8cpp_source.html#l00106">106</a> of file <a class="el" href="kfilterdev_8cpp_source.html">kfilterdev.cpp</a>.</p> </div> </div> <a class="anchor" id="aafd470e4fde55cd53995b7167506fc09"></a><!-- doxytag: member="KFilterDev::deviceForFile" ref="aafd470e4fde55cd53995b7167506fc09" args="(const QString &fileName, const QString &mimetype=QString::null, bool forceFilter=false)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" href="qiodevice.html">QIODevice</a> * KFilterDev::deviceForFile </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="qstring.html">QString</a> & </td> <td class="paramname"><em>fileName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" href="qstring.html">QString</a> & </td> <td class="paramname"><em>mimetype</em> = <code>QString::null</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>forceFilter</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Creates an i/o device that is able to read from <code>fileName</code>, whether it's compressed or not. </p> <p>Available compression filters (gzip/bzip2 etc.) will automatically be used.</p> <p>The compression filter to be used is determined from the <code>fileName</code> if <code>mimetype</code> is empty. Pass "application/x-gzip" or "application/x-bzip2" to force the corresponding decompression filter, if available.</p> <p>Warning: application/x-bzip2 may not be available. In that case a <a class="elRef" href="qfile.html">QFile</a> opened on the compressed data will be returned ! Use <a class="el" href="classKFilterBase.html#a6f6597b919c0c87339a0312657a64a88" title="Call this to create the appropriate filter for the mimetype mimeType.">KFilterBase::findFilterByMimeType</a> and code similar to what deviceForFile is doing, to better control what's happening.</p> <p>The returned <a class="elRef" href="qiodevice.html">QIODevice</a> has to be deleted after using.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">fileName</td><td>the name of the file to filter </td></tr> <tr><td class="paramname">mimetype</td><td>the mime type of the file to filter, or QString::null if unknown </td></tr> <tr><td class="paramname">forceFilter</td><td>if true, the function will either find a compression filter, or return 0. If false, it will always return a <a class="elRef" href="qiodevice.html">QIODevice</a>. If no filter is available it will return a simple <a class="elRef" href="qfile.html">QFile</a>. This can be useful if the file is usable without a filter. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>if a filter has been found, the <a class="elRef" href="qiodevice.html">QIODevice</a> for the filter. If the filter does not exist, the return value depends on <code>forceFilter</code>. The returned <a class="elRef" href="qiodevice.html">QIODevice</a> has to be deleted after using. </dd></dl> <p>Definition at line <a class="el" href="kfilterdev_8cpp_source.html#l00081">81</a> of file <a class="el" href="kfilterdev_8cpp_source.html">kfilterdev.cpp</a>.</p> </div> </div> <a class="anchor" id="a76477d8188e2c503596085563592b268"></a><!-- doxytag: member="KFilterDev::open" ref="a76477d8188e2c503596085563592b268" args="(int mode)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool KFilterDev::open </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>mode</em></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Open for reading or writing. </p> <p>If the KFilterBase's device is not opened, it will be opened. </p> <p>Reimplemented from <a class="elRef" href="qiodevice.html#open">QIODevice</a>.</p> <p>Definition at line <a class="el" href="kfilterdev_8cpp_source.html#l00119">119</a> of file <a class="el" href="kfilterdev_8cpp_source.html">kfilterdev.cpp</a>.</p> </div> </div> <a class="anchor" id="ac48b10dd86024843e29b1ae263d4a457"></a><!-- doxytag: member="KFilterDev::setOrigFileName" ref="ac48b10dd86024843e29b1ae263d4a457" args="(const QCString &fileName)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KFilterDev::setOrigFileName </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="qcstring.html">QCString</a> & </td> <td class="paramname"><em>fileName</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>For writing gzip compressed files only: set the name of the original file, to be used in the gzip header. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">fileName</td><td>the name of the original file </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="kfilterdev_8cpp_source.html#l00472">472</a> of file <a class="el" href="kfilterdev_8cpp_source.html">kfilterdev.cpp</a>.</p> </div> </div> <a class="anchor" id="ad4d43dc1c8ceae1159723b624cc4f4f3"></a><!-- doxytag: member="KFilterDev::setSkipHeaders" ref="ad4d43dc1c8ceae1159723b624cc4f4f3" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KFilterDev::setSkipHeaders </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Call this let this device skip the gzip headers when reading/writing. </p> <p>This way <a class="el" href="classKFilterDev.html" title="A class for reading and writing compressed data onto a device (e.g.">KFilterDev</a> (with gzip filter) can be used as a direct wrapper around zlib - this is used by <a class="el" href="classKZip.html" title="This class implements a kioslave to access zip files from KDE.">KZip</a>. </p> <dl class="since"><dt><b>Since:</b></dt><dd>3.1 </dd></dl> <p>Definition at line <a class="el" href="kfilterdev_8cpp_source.html#l00477">477</a> of file <a class="el" href="kfilterdev_8cpp_source.html">kfilterdev.cpp</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="kfilterdev_8h_source.html">kfilterdev.h</a></li> <li><a class="el" href="kfilterdev_8cpp_source.html">kfilterdev.cpp</a></li> </ul> </div> </div></div> </td> </tr> <tr> <td valign="top" id="leftmenu" width="25%"> <a name="navigation"></a> <div class="menu_box"><h2>kio/kio</h2> <div class="nav_list"> <ul><li><a href="index.html">Main Page</a></li><li><a href="modules.html">Modules</a></li><li><a href="namespaces.html">Namespace List</a></li><li><a href="hierarchy.html">Class Hierarchy</a></li><li><a href="classes.html">Alphabetical List</a></li><li><a href="annotated.html">Class List</a></li><li><a href="files.html">File List</a></li><li><a href="namespacemembers.html">Namespace Members</a></li><li><a href="functions.html">Class Members</a></li><li><a href="pages.html">Related Pages</a></li></ul> <!-- <h2>Class Picker</h2> <div style="text-align: center;"> <form name="guideform"> <select name="guidelinks" style="width:100%;" onChange="window.location=document.guideform.guidelinks.options[document.guideform.guidelinks.selectedIndex].value"> <option value="annotated.html">-- Choose --</option> <option value="classKACL.html">kacl</option>, <option value="classKAr.html">kar</option>, <option value="classKArchive.html">karchive</option>, <option value="classKArchiveDirectory.html">karchivedirectory</option>, <option value="classKArchiveEntry.html">karchiveentry</option>, <option value="classKArchiveFile.html">karchivefile</option>, <option value="classKAutoMount.html">kautomount</option>, <option value="classKAutoUnmount.html">kautounmount</option>, <option value="classKDataTool.html">kdatatool</option>, <option value="classKDataToolAction.html">kdatatoolaction</option>, <option value="classKDataToolInfo.html">kdatatoolinfo</option>, <option value="classKDCOPServiceStarter.html">kdcopservicestarter</option>, <option value="classKDEDesktopMimeType.html">kdedesktopmimetype</option>, <option value="classKDirLister.html">kdirlister</option>, <option value="classKDirNotify.html">kdirnotify</option>, <option value="classKDirWatch.html">kdirwatch</option>, <option value="classKEMailSettings.html">kemailsettings</option>, <option value="classKExecMimeType.html">kexecmimetype</option>, <option value="classKFileFilter.html">kfilefilter</option>, <option value="classKFileItem.html">kfileitem</option>, <option value="classKFileMetaInfo.html">kfilemetainfo</option>, <option value="classKFileMetaInfoGroup.html">kfilemetainfogroup</option>, <option value="classKFileMetaInfoItem.html">kfilemetainfoitem</option>, <option value="classKFileMimeTypeInfo.html">kfilemimetypeinfo</option>, <option value="classKFileMimeTypeInfo_1_1GroupInfo.html">kfilemimetypeinfo::groupinfo</option>, <option value="classKFileMimeTypeInfo_1_1ItemInfo.html">kfilemimetypeinfo::iteminfo</option>, <option value="classKFilePlugin.html">kfileplugin</option>, <option value="classKFileShare.html">kfileshare</option>, <option value="classKFilterBase.html">kfilterbase</option>, <option value="classKFilterDev.html">kfilterdev</option>, <option value="classKFolderType.html">kfoldertype</option>, <option value="classKImageIO.html">kimageio</option>, <option value="classKIO_1_1AuthInfo.html">kio::authinfo</option>, <option value="classKIO_1_1ChmodJob.html">kio::chmodjob</option>, <option value="classKIO_1_1Connection.html">kio::connection</option>, <option value="classKIO_1_1CopyJob.html">kio::copyjob</option>, <option value="classKIO_1_1DataProtocol.html">kio::dataprotocol</option>, <option value="classKIO_1_1DataSlave.html">kio::dataslave</option>, <option value="classKIO_1_1DavJob.html">kio::davjob</option>, <option value="classKIO_1_1DeleteJob.html">kio::deletejob</option>, <option value="classKIO_1_1FileCopyJob.html">kio::filecopyjob</option>, <option value="classKIO_1_1ForwardingSlaveBase.html">kio::forwardingslavebase</option>, <option value="classKIO_1_1Job.html">kio::job</option>, <option value="classKIO_1_1ListJob.html">kio::listjob</option>, <option value="classKIO_1_1MetaData.html">kio::metadata</option>, <option value="classKIO_1_1MetaInfoJob.html">kio::metainfojob</option>, <option value="classKIO_1_1MimetypeJob.html">kio::mimetypejob</option>, <option value="classKIO_1_1MkdirJob.html">kio::mkdirjob</option>, <option value="classKIO_1_1MultiGetJob.html">kio::multigetjob</option>, <option value="classKIO_1_1NetAccess.html">kio::netaccess</option>, <option value="classKIO_1_1NetRC.html">kio::netrc</option>, <option value="classKIO_1_1PasswordDialog.html">kio::passworddialog</option>, <option value="classKIO_1_1PreviewJob.html">kio::previewjob</option>, <option value="classKIO_1_1ProgressBase.html">kio::progressbase</option>, <option value="classKIO_1_1RenameDlg.html">kio::renamedlg</option>, <option value="classKIO_1_1Scheduler.html">kio::scheduler</option>, <option value="classKIO_1_1SimpleJob.html">kio::simplejob</option>, <option value="classKIO_1_1Slave.html">kio::slave</option>, <option value="classKIO_1_1SlaveBase.html">kio::slavebase</option>, <option value="classKIO_1_1SlaveConfig.html">kio::slaveconfig</option>, <option value="classKIO_1_1SlaveInterface.html">kio::slaveinterface</option>, <option value="classKIO_1_1StatJob.html">kio::statjob</option>, <option value="classKIO_1_1StatusbarProgress.html">kio::statusbarprogress</option>, <option value="classKIO_1_1StoredTransferJob.html">kio::storedtransferjob</option>, <option value="classKIO_1_1TCPSlaveBase.html">kio::tcpslavebase</option>, <option value="classKIO_1_1TransferJob.html">kio::transferjob</option>, <option value="classKLimitedIODevice.html">klimitediodevice</option>, <option value="classKMimeMagic.html">kmimemagic</option>, <option value="classKMimeMagicResult.html">kmimemagicresult</option>, <option value="classKMimeType.html">kmimetype</option>, <option value="classKMimeTypeChooser.html">kmimetypechooser</option>, <option value="classKMimeTypeChooserDialog.html">kmimetypechooserdialog</option>, <option value="classKMimeTypeResolver.html">kmimetyperesolver</option>, <option value="classKNFSShare.html">knfsshare</option>, <option value="classKOCRDialog.html">kocrdialog</option>, <option value="classKOCRDialogFactory.html">kocrdialogfactory</option>, <option value="classKOpenWithHandler.html">kopenwithhandler</option>, <option value="classKProtocolInfo.html">kprotocolinfo</option>, <option value="classKProtocolManager.html">kprotocolmanager</option>, <option value="classKRemoteEncoding.html">kremoteencoding</option>, <option value="classKRun.html">krun</option>, <option value="classKSambaShare.html">ksambashare</option>, <option value="classKScanDialog.html">kscandialog</option>, <option value="classKScanDialogFactory.html">kscandialogfactory</option>, <option value="classKService.html">kservice</option>, <option value="classKServiceGroup.html">kservicegroup</option>, <option value="classKServiceOffer.html">kserviceoffer</option>, <option value="classKServiceType.html">kservicetype</option>, <option value="classKServiceTypeProfile.html">kservicetypeprofile</option>, <option value="classKShellCompletion.html">kshellcompletion</option>, <option value="classKShred.html">kshred</option>, <option value="classKSimpleFileFilter.html">ksimplefilefilter</option>, <option value="classKTar.html">ktar</option>, <option value="classKTrader.html">ktrader</option>, <option value="classKURIFilter.html">kurifilter</option>, <option value="classKURIFilterData.html">kurifilterdata</option>, <option value="classKURIFilterPlugin.html">kurifilterplugin</option>, <option value="classKURIFilterPluginList.html">kurifilterpluginlist</option>, <option value="classKURLCompletion.html">kurlcompletion</option>, <option value="classKURLPixmapProvider.html">kurlpixmapprovider</option>, <option value="classKZip.html">kzip</option>, <option value="classObserver.html">observer</option>, <option value="classRenameDlgPlugin.html">renamedlgplugin</option>, <option value="classThumbCreator.html">thumbcreator</option>, </select> </form> </div> --> </div></div> <div class="menu_box"><h2>API Dox</h2> <div class="nav_list"> <ul> <li><a href="../../../arts/html/index.html">arts</a></li><li><a href="../../../dcop/html/index.html">dcop</a></li><li><a href="../../../dnssd/html/index.html">dnssd</a></li><li><a href="../../../interfaces/html/index.html">interfaces</a></li><li> <a href="../../../interfaces/kimproxy/interface/html/index.html">interface</a></li><li> <a href="../../../interfaces/kimproxy/library/html/index.html">library</a></li><li> <a href="../../../interfaces/kspeech/html/index.html">kspeech</a></li><li> <a href="../../../interfaces/ktexteditor/html/index.html">ktexteditor</a></li><li><a href="../../../kabc/html/index.html">kabc</a></li><li><a href="../../../kate/html/index.html">kate</a></li><li><a href="../../../kcmshell/html/index.html">kcmshell</a></li><li><a href="../../../kdecore/html/index.html">kdecore</a></li><li><a href="../../../kded/html/index.html">kded</a></li><li><a href="../../../kdefx/html/index.html">kdefx</a></li><li><a href="../../../kdeprint/html/index.html">kdeprint</a></li><li><a href="../../../kdesu/html/index.html">kdesu</a></li><li><a href="../../../kdeui/html/index.html">kdeui</a></li><li><a href="../../../kdoctools/html/index.html">kdoctools</a></li><li><a href="../../../khtml/html/index.html">khtml</a></li><li><a href="../../../kimgio/html/index.html">kimgio</a></li><li><a href="../../../kinit/html/index.html">kinit</a></li><li><a href="../../../kio/html/index.html">kio</a></li><li> <a href="../../../kio/bookmarks/html/index.html">bookmarks</a></li><li> <a href="../../../kio/httpfilter/html/index.html">httpfilter</a></li><li> <a href="../../../kio/kfile/html/index.html">kfile</a></li><li> <a href="../../../kio/kio/html/index.html">kio</a></li><li> <a href="../../../kio/kioexec/html/index.html">kioexec</a></li><li> <a href="../../../kio/kpasswdserver/html/index.html">kpasswdserver</a></li><li> <a href="../../../kio/kssl/html/index.html">kssl</a></li><li><a href="../../../kioslave/html/index.html">kioslave</a></li><li> <a href="../../../kioslave/http/html/index.html">http</a></li><li><a href="../../../kjs/html/index.html">kjs</a></li><li><a href="../../../kmdi/html/index.html">kmdi</a></li><li> <a href="../../../kmdi/kmdi/html/index.html">kmdi</a></li><li><a href="../../../knewstuff/html/index.html">knewstuff</a></li><li><a href="../../../kparts/html/index.html">kparts</a></li><li><a href="../../../kresources/html/index.html">kresources</a></li><li><a href="../../../kspell2/html/index.html">kspell2</a></li><li><a href="../../../kunittest/html/index.html">kunittest</a></li><li><a href="../../../kutils/html/index.html">kutils</a></li><li><a href="../../../kwallet/html/index.html">kwallet</a></li><li><a href="../../../libkmid/html/index.html">libkmid</a></li><li><a href="../../../libkscreensaver/html/index.html">libkscreensaver</a></li> </ul></div></div> </td> </tr> </table> <span class="doNotDisplay"> <a href="http://www.kde.org/" accesskey="8">KDE Home</a> | <a href="http://accessibility.kde.org/" accesskey="9">KDE Accessibility Home</a> | <a href="http://www.kde.org/media/accesskeys.php" accesskey="0">Description of Access Keys</a> </span> <div style="height: 8px"></div> <div id="footer"> <div id="footer_left"> Maintained by <a href="mailto:groot@kde.org">Adriaan de Groot</a> and <a href="mailto:winter@kde.org">Allen Winter</a>. <br/> KDE and K Desktop Environment are trademarks of <a href="http://www.kde.org/areas/kde-ev/" title="Homepage of the KDE non-profit Organization">KDE e.V.</a> | <a href="http://www.kde.org/contact/impressum.php">Legal</a> </div> <div id="footer_right"><img src="/media/images/footer_right.png" style="margin: 0px" alt="" /></div> </div> <!-- WARNING: DO NOT SEND MAIL TO THE FOLLOWING EMAIL ADDRESS! YOU WILL BE BLOCKED INSTANTLY AND PERMANENTLY! <a href="mailto:aaaatrap-425acc3b5374943f@kde.org">Block me</a> WARNING END --> </body> </html>