<?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: KIO::ForwardingSlaveBase 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 id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespaceKIO.html">KIO</a> </li> <li class="navelem"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html">ForwardingSlaveBase</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> </div> <div class="headertitle"> <div class="title">KIO::ForwardingSlaveBase Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="KIO::ForwardingSlaveBase" --><!-- doxytag: inherits="QObject,KIO::SlaveBase" --> <p>This class should be used as a base for ioslaves acting as a forwarder to other ioslaves. <a href="classKIO_1_1ForwardingSlaveBase.html#details">More...</a></p> <p><code>#include <<a class="el" href="forwardingslavebase_8h_source.html">forwardingslavebase.h</a>></code></p> <div class="dynheader"> Inheritance diagram for KIO::ForwardingSlaveBase:</div> <div class="dyncontent"> <div class="center"> <img src="classKIO_1_1ForwardingSlaveBase.png" usemap="#KIO::ForwardingSlaveBase_map" alt=""/> <map id="KIO::ForwardingSlaveBase_map" name="KIO::ForwardingSlaveBase_map"> <area href="qobject.html" alt="QObject" shape="rect" coords="0,0,164,24"/> <area href="classKIO_1_1SlaveBase.html" title="There are two classes that specifies the protocol between application (job) and kioslave." alt="KIO::SlaveBase" shape="rect" coords="174,0,338,24"/> </map> </div></div> <p><a href="classKIO_1_1ForwardingSlaveBase-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"><a class="anchor" id="a9b2a2e265a97946a4a098580d7ed4966"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::ForwardingSlaveBase" ref="a9b2a2e265a97946a4a098580d7ed4966" args="(const QCString &protocol, const QCString &poolSocket, const QCString &appSocket)" -->  </td><td class="memItemRight" valign="bottom"><b>ForwardingSlaveBase</b> (const <a class="elRef" href="qcstring.html">QCString</a> &protocol, const <a class="elRef" href="qcstring.html">QCString</a> &poolSocket, const <a class="elRef" href="qcstring.html">QCString</a> &appSocket)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#ad6077b43b41fa47fe565b008f8f5a17f">get</a> (const KURL &url)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a2d1009da0201fa8a44f9e1315273ddfd">put</a> (const KURL &url, int permissions, bool overwrite, bool resume)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a45581c5b4f1f6938efe5955416591403">stat</a> (const KURL &url)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a02edc1a4fa28d203dacca8c5d2a51080">mimetype</a> (const KURL &url)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a713b9c99735492c393753b2d01105b2d">listDir</a> (const KURL &url)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a16203bf9cfff1531835f0559f998b07c">mkdir</a> (const KURL &url, int permissions)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#aaebd9defec018afbbc3f0395d5307b4b">rename</a> (const KURL &src, const KURL &dest, bool overwrite)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#af5b8c2515b0452ebee2066cbe2266dca">symlink</a> (const <a class="elRef" href="qstring.html">QString</a> &target, const KURL &dest, bool overwrite)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a525d0f9173143abf8dd813e5da708502">chmod</a> (const KURL &url, int permissions)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a5421dfd4181c189fdf5b4e6a2d9385a1">copy</a> (const KURL &src, const KURL &dest, int permissions, bool overwrite)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a82457a19abad1f958d9b52f5deb8d9c9">del</a> (const KURL &url, bool isfile)</td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a3f0a679789063a36d4be4fb764645a71">rewriteURL</a> (const KURL &url, KURL &newURL)=0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a0f0fe84d07948b9daf8a59bba8321713">prepareUDSEntry</a> (<a class="elRef" href="qvaluelist.html">KIO::UDSEntry</a> &entry, bool listing=false) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">KURL </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a4c9446e4e50faf21874166eebcdb2388">processedURL</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">KURL </td><td class="memItemRight" valign="bottom"><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a142804a39c3ee4275c34b75d569274e4">requestedURL</a> () const </td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>This class should be used as a base for ioslaves acting as a forwarder to other ioslaves. </p> <p>It has been designed to support only local filesystem like ioslaves.</p> <p>If the resulting ioslave should be a simple proxy, you only need to implement the <a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a3f0a679789063a36d4be4fb764645a71" title="Rewrite an url to it's forwarded counterpart.">ForwardingSlaveBase::rewriteURL()</a> method.</p> <p>For more advanced behavior, the classic ioslave methods should be reimplemented, because their default behavior in this class is to forward using the <a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a3f0a679789063a36d4be4fb764645a71" title="Rewrite an url to it's forwarded counterpart.">ForwardingSlaveBase::rewriteURL()</a> method.</p> <p>A possible code snippet for an advanced <a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a45581c5b4f1f6938efe5955416591403" title="Finds all details for one file or directory.">stat()</a> behavior would look like this in the child class:</p> <div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> <a class="code" href="classKIO_1_1ForwardingSlaveBase.html#a45581c5b4f1f6938efe5955416591403" title="Finds all details for one file or directory.">ChildProtocol::stat</a>(<span class="keyword">const</span> KURL &url) { <span class="keywordtype">bool</span> is_special = <span class="keyword">false</span>; <span class="comment">// Process the URL to see if it should have</span> <span class="comment">// a special treatment</span> <span class="keywordflow">if</span> ( is_special ) { <span class="comment">// Handle the URL ourselves</span> <a class="codeRef" href="qvaluelist.html">KIO::UDSEntry</a> entry; <span class="comment">// Fill entry with UDSAtom instances</span> <a class="code" href="classKIO_1_1SlaveBase.html#a75ec4b5f1c05be67d51bd2704afdfc32" title="Call this from stat() to express details about an object, the UDSEntry customarily contains the atoms...">statEntry</a>(entry); <a class="code" href="classKIO_1_1SlaveBase.html#a4987924a8e9e087ebf4a9edc11299708" title="Call to signal successful completion of any command (besides openConnection and closeConnection)">finished</a>(); } <span class="keywordflow">else</span> { <span class="comment">// Setup the ioslave internal state if</span> <span class="comment">// required by ChildProtocol::rewriteURL()</span> <a class="code" href="classKIO_1_1ForwardingSlaveBase.html#a45581c5b4f1f6938efe5955416591403" title="Finds all details for one file or directory.">ForwardingSlaveBase::stat</a>(url); } } </pre></div><p>Of course in this case, you surely need to reimplement <a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a713b9c99735492c393753b2d01105b2d" title="Lists the contents of url.">listDir()</a> and <a class="el" href="classKIO_1_1ForwardingSlaveBase.html#ad6077b43b41fa47fe565b008f8f5a17f" title="get, aka read.">get()</a> accordingly.</p> <p>If you want view on directories to be correctly refreshed when something changes on a forwarded URL, you'll need a companion kded module to emit the <a class="el" href="classKDirNotify.html" title="An abstract class that receives notifications of added and removed files in any directory, local or remote.">KDirNotify</a> Files*() DCOP signals.</p> <p>This class was initially used for media:/ ioslave. This ioslave code and the MediaDirNotify class of its companion kded module can be a good source of inspiration.</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a3f0a679789063a36d4be4fb764645a71" title="Rewrite an url to it's forwarded counterpart.">ForwardingSlaveBase::rewriteURL()</a> </dd></dl> <dl class="since"><dt><b>Since:</b></dt><dd>3.4 </dd></dl> <dl class="author"><dt><b>Author:</b></dt><dd>Kevin Ottens <<a href="mailto:ervin@ipsquad.net">ervin@ipsquad.net</a>> </dd></dl> <p>Definition at line <a class="el" href="forwardingslavebase_8h_source.html#l00088">88</a> of file <a class="el" href="forwardingslavebase_8h_source.html">forwardingslavebase.h</a>.</p> </div><hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a525d0f9173143abf8dd813e5da708502"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::chmod" ref="a525d0f9173143abf8dd813e5da708502" args="(const KURL &url, int permissions)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KIO::ForwardingSlaveBase::chmod </td> <td>(</td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>url</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>permissions</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Change permissions on <code>path</code> The slave emits ERR_DOES_NOT_EXIST or ERR_CANNOT_CHMOD. </p> <p>Reimplemented from <a class="el" href="classKIO_1_1SlaveBase.html#a83365ff7f5ca58c9e3ec0c223b8d6038">KIO::SlaveBase</a>.</p> <p>Definition at line <a class="el" href="forwardingslavebase_8cpp_source.html#l00235">235</a> of file <a class="el" href="forwardingslavebase_8cpp_source.html">forwardingslavebase.cpp</a>.</p> </div> </div> <a class="anchor" id="a5421dfd4181c189fdf5b4e6a2d9385a1"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::copy" ref="a5421dfd4181c189fdf5b4e6a2d9385a1" args="(const KURL &src, const KURL &dest, int permissions, bool overwrite)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KIO::ForwardingSlaveBase::copy </td> <td>(</td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>dest</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>permissions</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>overwrite</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Copy <code>src</code> into <code>dest</code>. </p> <p>If the slave returns an error ERR_UNSUPPORTED_ACTION, the job will ask for get + put instead. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">src</td><td>where to copy the file from (decoded) </td></tr> <tr><td class="paramname">dest</td><td>where to copy the file to (decoded) </td></tr> <tr><td class="paramname">permissions</td><td>may be -1. In this case no special permission mode is set. </td></tr> <tr><td class="paramname">overwrite</td><td>if true, any existing file will be overwritten </td></tr> </table> </dd> </dl> <p>Reimplemented from <a class="el" href="classKIO_1_1SlaveBase.html#a9a39d9ce598d112c8ab625dd241f99ab">KIO::SlaveBase</a>.</p> <p>Definition at line <a class="el" href="forwardingslavebase_8cpp_source.html#l00249">249</a> of file <a class="el" href="forwardingslavebase_8cpp_source.html">forwardingslavebase.cpp</a>.</p> </div> </div> <a class="anchor" id="a82457a19abad1f958d9b52f5deb8d9c9"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::del" ref="a82457a19abad1f958d9b52f5deb8d9c9" args="(const KURL &url, bool isfile)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KIO::ForwardingSlaveBase::del </td> <td>(</td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>url</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>isfile</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Delete a file or directory. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">url</td><td>file/directory to delete </td></tr> <tr><td class="paramname">isfile</td><td>if true, a file should be deleted. if false, a directory should be deleted. </td></tr> </table> </dd> </dl> <p>Reimplemented from <a class="el" href="classKIO_1_1SlaveBase.html#adf9650287055c9238a1ddfba037bdf2a">KIO::SlaveBase</a>.</p> <p>Definition at line <a class="el" href="forwardingslavebase_8cpp_source.html#l00265">265</a> of file <a class="el" href="forwardingslavebase_8cpp_source.html">forwardingslavebase.cpp</a>.</p> </div> </div> <a class="anchor" id="ad6077b43b41fa47fe565b008f8f5a17f"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::get" ref="ad6077b43b41fa47fe565b008f8f5a17f" args="(const KURL &url)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KIO::ForwardingSlaveBase::get </td> <td>(</td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>url</em></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>get, aka read. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">url</td><td>the full url for this request. Host, port and user of the URL can be assumed to be the same as in the last <a class="el" href="classKIO_1_1SlaveBase.html#aa317789e4dfdbff726a6fd547b24dcab" title="Set the host.">setHost()</a> call. The slave emits the data through data </td></tr> </table> </dd> </dl> <p>Reimplemented from <a class="el" href="classKIO_1_1SlaveBase.html#a79b675fda88d631f0b6dc578abbb479e">KIO::SlaveBase</a>.</p> <p>Definition at line <a class="el" href="forwardingslavebase_8cpp_source.html#l00119">119</a> of file <a class="el" href="forwardingslavebase_8cpp_source.html">forwardingslavebase.cpp</a>.</p> </div> </div> <a class="anchor" id="a713b9c99735492c393753b2d01105b2d"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::listDir" ref="a713b9c99735492c393753b2d01105b2d" args="(const KURL &url)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KIO::ForwardingSlaveBase::listDir </td> <td>(</td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>url</em></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Lists the contents of <code>url</code>. </p> <p>The slave should emit ERR_CANNOT_ENTER_DIRECTORY if it doesn't exist, if we don't have enough permissions, or if it is a file It should also emit totalFiles as soon as it knows how many files it will list. </p> <p>Reimplemented from <a class="el" href="classKIO_1_1SlaveBase.html#acfee67cfc81e5d2fae72cb20c2707d4b">KIO::SlaveBase</a>.</p> <p>Definition at line <a class="el" href="forwardingslavebase_8cpp_source.html#l00177">177</a> of file <a class="el" href="forwardingslavebase_8cpp_source.html">forwardingslavebase.cpp</a>.</p> </div> </div> <a class="anchor" id="a02edc1a4fa28d203dacca8c5d2a51080"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::mimetype" ref="a02edc1a4fa28d203dacca8c5d2a51080" args="(const KURL &url)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KIO::ForwardingSlaveBase::mimetype </td> <td>(</td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>url</em></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Finds mimetype for one file or directory. </p> <p>This method should either emit 'mimeType' or it should send a block of data big enough to be able to determine the mimetype.</p> <p>If the slave doesn't reimplement it, a get will be issued, i.e. the whole file will be downloaded before determining the mimetype on it - this is obviously not a good thing in most cases. </p> <p>Reimplemented from <a class="el" href="classKIO_1_1SlaveBase.html#a46a782488ab6760075fd2cd686133cc6">KIO::SlaveBase</a>.</p> <p>Definition at line <a class="el" href="forwardingslavebase_8cpp_source.html#l00163">163</a> of file <a class="el" href="forwardingslavebase_8cpp_source.html">forwardingslavebase.cpp</a>.</p> </div> </div> <a class="anchor" id="a16203bf9cfff1531835f0559f998b07c"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::mkdir" ref="a16203bf9cfff1531835f0559f998b07c" args="(const KURL &url, int permissions)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KIO::ForwardingSlaveBase::mkdir </td> <td>(</td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>url</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>permissions</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Create a directory. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">url</td><td>path to the directory to create </td></tr> <tr><td class="paramname">permissions</td><td>the permissions to set after creating the directory (-1 if no permissions to be set) The slave emits ERR_COULD_NOT_MKDIR if failure. </td></tr> </table> </dd> </dl> <p>Reimplemented from <a class="el" href="classKIO_1_1SlaveBase.html#a32a4d92f51277226fd9588324d52c888">KIO::SlaveBase</a>.</p> <p>Definition at line <a class="el" href="forwardingslavebase_8cpp_source.html#l00191">191</a> of file <a class="el" href="forwardingslavebase_8cpp_source.html">forwardingslavebase.cpp</a>.</p> </div> </div> <a class="anchor" id="a0f0fe84d07948b9daf8a59bba8321713"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::prepareUDSEntry" ref="a0f0fe84d07948b9daf8a59bba8321713" args="(KIO::UDSEntry &entry, bool listing=false) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KIO::ForwardingSlaveBase::prepareUDSEntry </td> <td>(</td> <td class="paramtype"><a class="elRef" href="qvaluelist.html">KIO::UDSEntry</a> & </td> <td class="paramname"><em>entry</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>listing</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const<code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Allow to modify a UDSEntry before it's sent to the ioslave enpoint. </p> <p>This is the default implementation working in most case, but sometimes you could make use of more forwarding black magic (for example dynamically transform any desktop file into a fake directory...)</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">entry</td><td>the UDSEntry to post-process </td></tr> <tr><td class="paramname">listing</td><td>indicate if this entry it created during a listDir operation </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="forwardingslavebase_8cpp_source.html#l00066">66</a> of file <a class="el" href="forwardingslavebase_8cpp_source.html">forwardingslavebase.cpp</a>.</p> </div> </div> <a class="anchor" id="a4c9446e4e50faf21874166eebcdb2388"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::processedURL" ref="a4c9446e4e50faf21874166eebcdb2388" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">KURL KIO::ForwardingSlaveBase::processedURL </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return the URL being processed by the ioslave Only access it inside <a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a0f0fe84d07948b9daf8a59bba8321713" title="Allow to modify a UDSEntry before it's sent to the ioslave enpoint.">prepareUDSEntry()</a> </p> <p>Definition at line <a class="el" href="forwardingslavebase_8h_source.html#l00154">154</a> of file <a class="el" href="forwardingslavebase_8h_source.html">forwardingslavebase.h</a>.</p> </div> </div> <a class="anchor" id="a2d1009da0201fa8a44f9e1315273ddfd"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::put" ref="a2d1009da0201fa8a44f9e1315273ddfd" args="(const KURL &url, int permissions, bool overwrite, bool resume)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KIO::ForwardingSlaveBase::put </td> <td>(</td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>url</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>permissions</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>overwrite</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>resume</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>put, i.e. </p> <p>write data into a file.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">url</td><td>where to write the file </td></tr> <tr><td class="paramname">permissions</td><td>may be -1. In this case no special permission mode is set. </td></tr> <tr><td class="paramname">overwrite</td><td>if true, any existing file will be overwritten. If the file indeed already exists, the slave should NOT apply the permissions change to it. </td></tr> <tr><td class="paramname">resume</td><td>currently unused, please ignore. The support for resuming using .part files is done by calling canResume().</td></tr> </table> </dd> </dl> <p>IMPORTANT: Use the "modified" metadata in order to set the modification time of the file.</p> <dl class="see"><dt><b>See also:</b></dt><dd>canResume() </dd></dl> <p>Reimplemented from <a class="el" href="classKIO_1_1SlaveBase.html#ab1207ed4e333ca0ed6377771fd21cf3d">KIO::SlaveBase</a>.</p> <p>Definition at line <a class="el" href="forwardingslavebase_8cpp_source.html#l00133">133</a> of file <a class="el" href="forwardingslavebase_8cpp_source.html">forwardingslavebase.cpp</a>.</p> </div> </div> <a class="anchor" id="aaebd9defec018afbbc3f0395d5307b4b"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::rename" ref="aaebd9defec018afbbc3f0395d5307b4b" args="(const KURL &src, const KURL &dest, bool overwrite)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KIO::ForwardingSlaveBase::rename </td> <td>(</td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>dest</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>overwrite</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Rename <code>oldname</code> into <code>newname</code>. </p> <p>If the slave returns an error ERR_UNSUPPORTED_ACTION, the job will ask for copy + del instead. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">src</td><td>where to move the file from </td></tr> <tr><td class="paramname">dest</td><td>where to move the file to </td></tr> <tr><td class="paramname">overwrite</td><td>if true, any existing file will be overwritten </td></tr> </table> </dd> </dl> <p>Reimplemented from <a class="el" href="classKIO_1_1SlaveBase.html#aab6a8ec51a45397af85637b10d1a38ba">KIO::SlaveBase</a>.</p> <p>Definition at line <a class="el" href="forwardingslavebase_8cpp_source.html#l00205">205</a> of file <a class="el" href="forwardingslavebase_8cpp_source.html">forwardingslavebase.cpp</a>.</p> </div> </div> <a class="anchor" id="a142804a39c3ee4275c34b75d569274e4"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::requestedURL" ref="a142804a39c3ee4275c34b75d569274e4" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">KURL KIO::ForwardingSlaveBase::requestedURL </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return the URL asked to the ioslave Only access it inside <a class="el" href="classKIO_1_1ForwardingSlaveBase.html#a0f0fe84d07948b9daf8a59bba8321713" title="Allow to modify a UDSEntry before it's sent to the ioslave enpoint.">prepareUDSEntry()</a> </p> <p>Definition at line <a class="el" href="forwardingslavebase_8h_source.html#l00160">160</a> of file <a class="el" href="forwardingslavebase_8h_source.html">forwardingslavebase.h</a>.</p> </div> </div> <a class="anchor" id="a3f0a679789063a36d4be4fb764645a71"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::rewriteURL" ref="a3f0a679789063a36d4be4fb764645a71" args="(const KURL &url, KURL &newURL)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool KIO::ForwardingSlaveBase::rewriteURL </td> <td>(</td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>url</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">KURL & </td> <td class="paramname"><em>newURL</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [protected, pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Rewrite an url to it's forwarded counterpart. </p> <p>It should return true if everything was ok, and false otherwise.</p> <p>If a problem is detected it's up to this method to trigger <a class="el" href="classKIO_1_1SlaveBase.html#a6938ad4b6647c3f0150ba77d06725efb" title="Call to signal an error.">error()</a> before returning. Returning false silently cancel the current slave operation.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">url</td><td>The URL as given during the slave call </td></tr> <tr><td class="paramname">newURL</td><td>The new URL to forward the slave call to </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true if the given url could be correctly rewritten </dd></dl> </div> </div> <a class="anchor" id="a45581c5b4f1f6938efe5955416591403"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::stat" ref="a45581c5b4f1f6938efe5955416591403" args="(const KURL &url)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KIO::ForwardingSlaveBase::stat </td> <td>(</td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>url</em></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Finds all details for one file or directory. </p> <p>The information returned is the same as what listDir returns, but only for one file or directory. </p> <p>Reimplemented from <a class="el" href="classKIO_1_1SlaveBase.html#a20aa8e52e38af682a80f1ef2016c83c9">KIO::SlaveBase</a>.</p> <p>Definition at line <a class="el" href="forwardingslavebase_8cpp_source.html#l00149">149</a> of file <a class="el" href="forwardingslavebase_8cpp_source.html">forwardingslavebase.cpp</a>.</p> </div> </div> <a class="anchor" id="af5b8c2515b0452ebee2066cbe2266dca"></a><!-- doxytag: member="KIO::ForwardingSlaveBase::symlink" ref="af5b8c2515b0452ebee2066cbe2266dca" args="(const QString &target, const KURL &dest, bool overwrite)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void KIO::ForwardingSlaveBase::symlink </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="qstring.html">QString</a> & </td> <td class="paramname"><em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const KURL & </td> <td class="paramname"><em>dest</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>overwrite</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Creates a symbolic link named <code>dest</code>, pointing to <code>target</code>, which may be a relative or an absolute path. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">target</td><td>The string that will become the "target" of the link (can be relative) </td></tr> <tr><td class="paramname">dest</td><td>The symlink to create. </td></tr> <tr><td class="paramname">overwrite</td><td>whether to automatically overwrite if the dest exists </td></tr> </table> </dd> </dl> <p>Reimplemented from <a class="el" href="classKIO_1_1SlaveBase.html#ad827dec554072a0d34c8fa6763282394">KIO::SlaveBase</a>.</p> <p>Definition at line <a class="el" href="forwardingslavebase_8cpp_source.html#l00220">220</a> of file <a class="el" href="forwardingslavebase_8cpp_source.html">forwardingslavebase.cpp</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="forwardingslavebase_8h_source.html">forwardingslavebase.h</a></li> <li><a class="el" href="forwardingslavebase_8cpp_source.html">forwardingslavebase.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>