Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > media > contrib-backports > by-pkgid > 9601c7beb4ff23e834bfa171795ed560 > files > 177

vidalia-0.2.9-1mdv2010.1.i586.rpm

<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Vidalia: Log.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_b47abd1aad201a152869566145babb61.html">src</a>&nbsp;&raquo;&nbsp;<a class="el" href="dir_3459d97d61361c9d41d467fba45f9c61.html">common</a>
  </div>
</div>
<div class="contents">
<h1>Log.h</h1><a href="_log_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">**  This file is part of Vidalia, and is subject to the license terms in the</span>
<a name="l00003"></a>00003 <span class="comment">**  LICENSE file, found in the top level directory of this distribution. If you</span>
<a name="l00004"></a>00004 <span class="comment">**  did not receive the LICENSE file with this file, you may obtain it from the</span>
<a name="l00005"></a>00005 <span class="comment">**  Vidalia source package distributed by the Vidalia Project at</span>
<a name="l00006"></a>00006 <span class="comment">**  http://www.vidalia-project.net/. No part of Vidalia, including this file,</span>
<a name="l00007"></a>00007 <span class="comment">**  may be copied, modified, propagated, or distributed except according to the</span>
<a name="l00008"></a>00008 <span class="comment">**  terms described in the LICENSE file.</span>
<a name="l00009"></a>00009 <span class="comment">*/</span>
<a name="l00010"></a>00010 
<a name="l00011"></a>00011 <span class="comment">/*</span>
<a name="l00012"></a>00012 <span class="comment">** \file Log.h</span>
<a name="l00013"></a>00013 <span class="comment">** \version $Id: Log.h 3735 2009-04-28 20:28:01Z edmanm $</span>
<a name="l00014"></a>00014 <span class="comment">** \brief Debug message logging</span>
<a name="l00015"></a>00015 <span class="comment">*/</span>
<a name="l00016"></a>00016 
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef _LOG_H</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define _LOG_H</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;QObject&gt;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;QFile&gt;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;QStringList&gt;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;QIODevice&gt;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;QHostAddress&gt;</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 <span class="comment"></span>
<a name="l00027"></a>00027 <span class="comment">/** The Log class is similar to the QDebug class provided with Qt, but with</span>
<a name="l00028"></a>00028 <span class="comment"> * finer-grained logging levels, slightly different output (for example, not</span>
<a name="l00029"></a>00029 <span class="comment"> * everything is wrapped in double quotes), supports using .arg(), and can </span>
<a name="l00030"></a>00030 <span class="comment"> * still be used even if Qt was compiled with QT_NO_DEBUG_STREAM. */</span>
<a name="l00031"></a><a class="code" href="class_log.html">00031</a> <span class="keyword">class </span><a class="code" href="class_log.html">Log</a>
<a name="l00032"></a>00032 {
<a name="l00033"></a>00033 <span class="keyword">public</span>:<span class="comment"></span>
<a name="l00034"></a>00034 <span class="comment">  /** Logging severity levels. */</span>
<a name="l00035"></a><a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196e">00035</a>   <span class="keyword">enum</span> <a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196e">LogLevel</a> {
<a name="l00036"></a><a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196eaec4d6b151ce2b9205065081b0218dc1f">00036</a>     <a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196eaec4d6b151ce2b9205065081b0218dc1f">Debug</a> = 0,  <span class="comment">/**&lt; Verbose debugging output. */</span>
<a name="l00037"></a><a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196ea84d01ccd2314278ac9fffe87960b3e6f">00037</a>     <a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196ea84d01ccd2314278ac9fffe87960b3e6f">Info</a>,       <span class="comment">/**&lt; Primarily program flow output. */</span>
<a name="l00038"></a><a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196eafc8d9abdf285d3e5e2155c4987f4649d">00038</a>     <a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196eafc8d9abdf285d3e5e2155c4987f4649d">Notice</a>,     <span class="comment">/**&lt; Non-failure (but important) events. */</span>
<a name="l00039"></a><a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196ea305ba218e736ad88bcfc2f50f93c1465">00039</a>     <a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196ea305ba218e736ad88bcfc2f50f93c1465">Warn</a>,       <span class="comment">/**&lt; Recoverable failure conditions. */</span>
<a name="l00040"></a><a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196ea5c22955425541d3b890039a6a5ede82d">00040</a>     <a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196ea5c22955425541d3b890039a6a5ede82d">Error</a>,      <span class="comment">/**&lt; Critical, non-recoverable errors. */</span>
<a name="l00041"></a><a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196ea926e2df3cf5e8de425c35617f9fae92f">00041</a>     <a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196ea926e2df3cf5e8de425c35617f9fae92f">Off</a>,        <span class="comment">/**&lt; No logging output. */</span>
<a name="l00042"></a><a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196ea17a05d04845b0d018efee12e9799a732">00042</a>     <a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196ea17a05d04845b0d018efee12e9799a732">Unknown</a>     <span class="comment">/**&lt; Unknown/invalid log level. */</span>
<a name="l00043"></a>00043   };
<a name="l00044"></a>00044   <span class="keyword">class </span>LogMessage;
<a name="l00045"></a>00045   <span class="comment"></span>
<a name="l00046"></a>00046 <span class="comment">  /** Default constructor. */</span>
<a name="l00047"></a>00047   <a class="code" href="class_log.html#af6071a60aa52b6c1b511f99b4bc1b8fe">Log</a>();<span class="comment"></span>
<a name="l00048"></a>00048 <span class="comment">  /** Destructor. */</span>
<a name="l00049"></a>00049   <a class="code" href="class_log.html#a0fbfda88fbee5027c89f6eb121059360">~Log</a>();
<a name="l00050"></a>00050 <span class="comment"></span>
<a name="l00051"></a>00051 <span class="comment">  /** Opens a file on disk (or stdout or stderr) to which log messages will be</span>
<a name="l00052"></a>00052 <span class="comment">   * written. */</span>
<a name="l00053"></a>00053   <span class="keywordtype">bool</span> <a class="code" href="class_log.html#a4193bc86663a08c2186e547d73fa88fd">open</a>(FILE *file);<span class="comment"></span>
<a name="l00054"></a>00054 <span class="comment">  /** Opens a file on disk to which log messages will be written. */</span>
<a name="l00055"></a>00055   <span class="keywordtype">bool</span> <a class="code" href="class_log.html#a4193bc86663a08c2186e547d73fa88fd">open</a>(QString file);<span class="comment"></span>
<a name="l00056"></a>00056 <span class="comment">  /** Closes the log file. */</span> 
<a name="l00057"></a>00057   <span class="keywordtype">void</span> <a class="code" href="class_log.html#adcbc96155698ce75c3ff098cb7699c09">close</a>();<span class="comment"></span>
<a name="l00058"></a>00058 <span class="comment">  /** Returns true if the log file is open and ready for writing. */</span>
<a name="l00059"></a><a class="code" href="class_log.html#a243e6013a1d687297172ec54dc627b5f">00059</a>   <span class="keywordtype">bool</span> <a class="code" href="class_log.html#a243e6013a1d687297172ec54dc627b5f">isOpen</a>() { <span class="keywordflow">return</span> <a class="code" href="class_log.html#a8915ca8c1f14baf74bf959449c654bf6">_logFile</a>.isOpen() &amp;&amp; <a class="code" href="class_log.html#a8915ca8c1f14baf74bf959449c654bf6">_logFile</a>.isWritable(); }<span class="comment"></span>
<a name="l00060"></a>00060 <span class="comment">  /** Returns a string description of the last file error encountered. */</span>
<a name="l00061"></a><a class="code" href="class_log.html#a04720d2111444aa71d99342c1b3e71fe">00061</a>   QString <a class="code" href="class_log.html#a04720d2111444aa71d99342c1b3e71fe">errorString</a>() { <span class="keywordflow">return</span> <a class="code" href="class_log.html#a8915ca8c1f14baf74bf959449c654bf6">_logFile</a>.errorString(); }
<a name="l00062"></a>00062   <span class="comment"></span>
<a name="l00063"></a>00063 <span class="comment">  /** Sets the current log level to &lt;b&gt;level&lt;/b&gt;. */</span>
<a name="l00064"></a>00064   <span class="keywordtype">void</span> <a class="code" href="class_log.html#a8c0212a92733bf61ef4d321510807559">setLogLevel</a>(<a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196e">LogLevel</a> level);<span class="comment"></span>
<a name="l00065"></a>00065 <span class="comment">  /** Returns a list of strings representing valid log levels. */</span>
<a name="l00066"></a>00066   <span class="keyword">static</span> QStringList <a class="code" href="class_log.html#a135285deeafac963f2de45e278331da6">logLevels</a>();<span class="comment"></span>
<a name="l00067"></a>00067 <span class="comment">  /** Returns a string description of the given LogLevel &lt;b&gt;level&lt;/b&gt;. */</span>
<a name="l00068"></a>00068   <span class="keyword">static</span> <span class="keyword">inline</span> QString <a class="code" href="class_log.html#a83510c59df85c39e3d7b8338ef179781">logLevelToString</a>(<a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196e">LogLevel</a> level);<span class="comment"></span>
<a name="l00069"></a>00069 <span class="comment">  /** Returns a LogLevel for the level given by &lt;b&gt;str&lt;/b&gt;. */</span>
<a name="l00070"></a>00070   <span class="keyword">static</span> <a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196e">LogLevel</a> <a class="code" href="class_log.html#a188284a7289fa4d104b29dd7d53c1a28">stringToLogLevel</a>(QString str);
<a name="l00071"></a>00071   <span class="comment"></span>
<a name="l00072"></a>00072 <span class="comment">  /** Creates a log message with severity &lt;b&gt;level&lt;/b&gt; and initial message</span>
<a name="l00073"></a>00073 <span class="comment">   * contents &lt;b&gt;message&lt;/b&gt;. The log message can be appended to until the</span>
<a name="l00074"></a>00074 <span class="comment">   * returned LogMessage&#39;s destructor is called, at which point the complete</span>
<a name="l00075"></a>00075 <span class="comment">   * message is written to the log file. */</span>
<a name="l00076"></a>00076   LogMessage <a class="code" href="class_log.html#adc3fb22c4d0f3e6fae37f5ee70cce9ac">log</a>(<a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196e">LogLevel</a> level, QString message);<span class="comment"></span>
<a name="l00077"></a>00077 <span class="comment">  /** Creates a log message with severity &lt;b&gt;level&lt;/b&gt;. The log message can be</span>
<a name="l00078"></a>00078 <span class="comment">   * appended to until the returned LogMessage&#39;s destructor is called, at</span>
<a name="l00079"></a>00079 <span class="comment">   * which point the complete message is written to the log file. */</span>
<a name="l00080"></a>00080   <span class="keyword">inline</span> LogMessage <a class="code" href="class_log.html#adc3fb22c4d0f3e6fae37f5ee70cce9ac">log</a>(<a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196e">LogLevel</a> level);
<a name="l00081"></a>00081   
<a name="l00082"></a>00082 <span class="keyword">private</span>:
<a name="l00083"></a><a class="code" href="class_log.html#adca3d03ed213ec230830e7ce9982902a">00083</a>   <a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196e">LogLevel</a> <a class="code" href="class_log.html#adca3d03ed213ec230830e7ce9982902a">_logLevel</a>; <span class="comment">/**&lt; Minimum log severity level. */</span>
<a name="l00084"></a><a class="code" href="class_log.html#a8915ca8c1f14baf74bf959449c654bf6">00084</a>   QFile <a class="code" href="class_log.html#a8915ca8c1f14baf74bf959449c654bf6">_logFile</a>;     <span class="comment">/**&lt; Log output destination. */</span>
<a name="l00085"></a>00085 };
<a name="l00086"></a>00086 <span class="comment"></span>
<a name="l00087"></a>00087 <span class="comment">/** This internal class represents a single message that is to be written to </span>
<a name="l00088"></a>00088 <span class="comment"> * the log destination. The message is buffered until it is written to the</span>
<a name="l00089"></a>00089 <span class="comment"> * log in this class&#39;s destructor. */</span>
<a name="l00090"></a><a class="code" href="class_log_1_1_log_message.html">00090</a> <span class="keyword">class </span><a class="code" href="class_log_1_1_log_message.html">Log::LogMessage</a>
<a name="l00091"></a>00091 {
<a name="l00092"></a>00092 <span class="keyword">public</span>:
<a name="l00093"></a><a class="code" href="struct_log_1_1_log_message_1_1_stream.html">00093</a>   <span class="keyword">struct </span><a class="code" href="struct_log_1_1_log_message_1_1_stream.html">Stream</a> {
<a name="l00094"></a><a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a0fc3843f3d77f2be758ed85cfc2a7708">00094</a>     <a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a0fc3843f3d77f2be758ed85cfc2a7708">Stream</a>(<a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196e">Log::LogLevel</a> t, QIODevice *o) 
<a name="l00095"></a>00095       : <a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a48420ccdb9e928e9d0e830c1609a0263">type</a>(t), <a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a40756ad169702cd2b4c9544ef11e0d46">out</a>(o), <a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a73aaf9d06c6182c98522a7ca81a8af29">ref</a>(1) {}
<a name="l00096"></a><a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a48420ccdb9e928e9d0e830c1609a0263">00096</a>     <a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196e">Log::LogLevel</a> <a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a48420ccdb9e928e9d0e830c1609a0263">type</a>;
<a name="l00097"></a><a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a40756ad169702cd2b4c9544ef11e0d46">00097</a>     QIODevice *<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a40756ad169702cd2b4c9544ef11e0d46">out</a>;
<a name="l00098"></a><a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a73aaf9d06c6182c98522a7ca81a8af29">00098</a>     <span class="keywordtype">int</span> <a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a73aaf9d06c6182c98522a7ca81a8af29">ref</a>;
<a name="l00099"></a><a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">00099</a>     QString <a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a>;
<a name="l00100"></a>00100   } *<a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>;
<a name="l00101"></a>00101  
<a name="l00102"></a><a class="code" href="class_log_1_1_log_message.html#a502e8ecb3c09592a26dccb002bb93eed">00102</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html#a502e8ecb3c09592a26dccb002bb93eed">LogMessage</a>(<a class="code" href="class_log.html#a3718f3e276c3d3e23b58a3b8236d196e">Log::LogLevel</a> t, QIODevice *o)
<a name="l00103"></a>00103     : <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>(new <a class="code" href="struct_log_1_1_log_message_1_1_stream.html">Stream</a>(t,o)) {}
<a name="l00104"></a><a class="code" href="class_log_1_1_log_message.html#ad6665d3f5ac28de9da359d5def30006a">00104</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html#a502e8ecb3c09592a26dccb002bb93eed">LogMessage</a>(<span class="keyword">const</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> &amp;o) 
<a name="l00105"></a>00105     : <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>(o.<a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>) { ++<a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a73aaf9d06c6182c98522a7ca81a8af29">ref</a>; }
<a name="l00106"></a>00106   <span class="keyword">inline</span> QString <a class="code" href="class_log_1_1_log_message.html#a7fe5a9f54e413bfe895bd0f79662d88e">toString</a>() <span class="keyword">const</span>;
<a name="l00107"></a>00107   <a class="code" href="class_log_1_1_log_message.html#a9db55ebcfa6da6a88579600ad0a61be3">~LogMessage</a>();
<a name="l00108"></a>00108  
<a name="l00109"></a>00109   <span class="comment">/* Support both the &lt;&lt; and .arg() methods */</span>
<a name="l00110"></a><a class="code" href="class_log_1_1_log_message.html#ac933c6315e79096ecaf469a6507cb030">00110</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> &amp;<a class="code" href="class_log_1_1_log_message.html#ac933c6315e79096ecaf469a6507cb030">operator&lt;&lt;</a>(<span class="keyword">const</span> QString &amp;t) 
<a name="l00111"></a>00111     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> += t; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00112"></a><a class="code" href="class_log_1_1_log_message.html#a40fca68d4fe6ec37e1099a52a6de7b24">00112</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> <a class="code" href="class_log_1_1_log_message.html#a40fca68d4fe6ec37e1099a52a6de7b24">arg</a>(<span class="keyword">const</span> QString &amp;a)
<a name="l00113"></a>00113     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> = <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a>.arg(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00114"></a><a class="code" href="class_log_1_1_log_message.html#afd1cf8dc18cd0b50123295e0af4dac29">00114</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> &amp;<a class="code" href="class_log_1_1_log_message.html#ac933c6315e79096ecaf469a6507cb030">operator&lt;&lt;</a>(<span class="keyword">const</span> QStringList &amp;a)
<a name="l00115"></a>00115     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> += a.join(<span class="stringliteral">&quot;,&quot;</span>); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00116"></a><a class="code" href="class_log_1_1_log_message.html#ad253ab8e80e5b23f9a7536e0fe96706e">00116</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> <a class="code" href="class_log_1_1_log_message.html#a40fca68d4fe6ec37e1099a52a6de7b24">arg</a>(<span class="keyword">const</span> QStringList &amp;a)
<a name="l00117"></a>00117     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> = <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a>.arg(a.join(<span class="stringliteral">&quot;,&quot;</span>)); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00118"></a><a class="code" href="class_log_1_1_log_message.html#af7e30a08a3b6e1bf9697138269dba60b">00118</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> &amp;<a class="code" href="class_log_1_1_log_message.html#ac933c6315e79096ecaf469a6507cb030">operator&lt;&lt;</a>(<span class="keyword">const</span> QHostAddress &amp;a)
<a name="l00119"></a>00119     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> += a.toString(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00120"></a><a class="code" href="class_log_1_1_log_message.html#ad323b0267ca9be769e59efd3fa8f139e">00120</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> <a class="code" href="class_log_1_1_log_message.html#a40fca68d4fe6ec37e1099a52a6de7b24">arg</a>(<span class="keyword">const</span> QHostAddress &amp;a)
<a name="l00121"></a>00121     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> = <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a>.arg(a.toString()); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00122"></a><a class="code" href="class_log_1_1_log_message.html#a77a4b5e29eb4dd07a7507079298cba87">00122</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> &amp;<a class="code" href="class_log_1_1_log_message.html#ac933c6315e79096ecaf469a6507cb030">operator&lt;&lt;</a>(<span class="keywordtype">short</span> a)
<a name="l00123"></a>00123     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> += QString::number(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00124"></a><a class="code" href="class_log_1_1_log_message.html#a0c38cdf25958f8b56670277a6b1faada">00124</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> <a class="code" href="class_log_1_1_log_message.html#a40fca68d4fe6ec37e1099a52a6de7b24">arg</a>(<span class="keywordtype">short</span> a)
<a name="l00125"></a>00125     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> = <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a>.arg(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00126"></a><a class="code" href="class_log_1_1_log_message.html#a2120e93c2e844a4aca65b72f93c45678">00126</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> &amp;<a class="code" href="class_log_1_1_log_message.html#ac933c6315e79096ecaf469a6507cb030">operator&lt;&lt;</a>(ushort a)
<a name="l00127"></a>00127     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> += QString::number(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00128"></a><a class="code" href="class_log_1_1_log_message.html#ae913c9ec44990736e8ec66b63dd66efd">00128</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> <a class="code" href="class_log_1_1_log_message.html#a40fca68d4fe6ec37e1099a52a6de7b24">arg</a>(ushort a)
<a name="l00129"></a>00129     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> = <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a>.arg(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00130"></a><a class="code" href="class_log_1_1_log_message.html#af574de828652571d57ce21fd8c3e3388">00130</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> &amp;<a class="code" href="class_log_1_1_log_message.html#ac933c6315e79096ecaf469a6507cb030">operator&lt;&lt;</a>(<span class="keywordtype">int</span> a)
<a name="l00131"></a>00131     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> += QString::number(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00132"></a><a class="code" href="class_log_1_1_log_message.html#af12e3cb4b4f107f375a0908905a42db4">00132</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> <a class="code" href="class_log_1_1_log_message.html#a40fca68d4fe6ec37e1099a52a6de7b24">arg</a>(<span class="keywordtype">int</span> a)
<a name="l00133"></a>00133     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> = <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a>.arg(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00134"></a><a class="code" href="class_log_1_1_log_message.html#ae0c7018908748ee1404bc3edb9706bcf">00134</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> &amp;<a class="code" href="class_log_1_1_log_message.html#ac933c6315e79096ecaf469a6507cb030">operator&lt;&lt;</a>(uint a)
<a name="l00135"></a>00135     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> += QString::number(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00136"></a><a class="code" href="class_log_1_1_log_message.html#a24e5fe14edc1d4d166b43b697d7f25ae">00136</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> <a class="code" href="class_log_1_1_log_message.html#a40fca68d4fe6ec37e1099a52a6de7b24">arg</a>(uint a)
<a name="l00137"></a>00137     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> = <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a>.arg(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00138"></a><a class="code" href="class_log_1_1_log_message.html#a0146a068c7e4ce25dfe05195fe143f59">00138</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> &amp;<a class="code" href="class_log_1_1_log_message.html#ac933c6315e79096ecaf469a6507cb030">operator&lt;&lt;</a>(<span class="keywordtype">long</span> a)
<a name="l00139"></a>00139     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> += QString::number(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00140"></a><a class="code" href="class_log_1_1_log_message.html#ac6536ea72c0eb741668f70c96da8b9b5">00140</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> <a class="code" href="class_log_1_1_log_message.html#a40fca68d4fe6ec37e1099a52a6de7b24">arg</a>(<span class="keywordtype">long</span> a)
<a name="l00141"></a>00141     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> = <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a>.arg(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00142"></a><a class="code" href="class_log_1_1_log_message.html#ac7b36fbc6ee672e9aea67136524a2698">00142</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> &amp;<a class="code" href="class_log_1_1_log_message.html#ac933c6315e79096ecaf469a6507cb030">operator&lt;&lt;</a>(ulong a)
<a name="l00143"></a>00143     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> += QString::number(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00144"></a><a class="code" href="class_log_1_1_log_message.html#a8ea72ca218e35e6b933303dedfa0f379">00144</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> <a class="code" href="class_log_1_1_log_message.html#a40fca68d4fe6ec37e1099a52a6de7b24">arg</a>(ulong a)
<a name="l00145"></a>00145     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> = <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a>.arg(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00146"></a><a class="code" href="class_log_1_1_log_message.html#abbb1773168f575957bd5c2f05c1b549e">00146</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> &amp;<a class="code" href="class_log_1_1_log_message.html#ac933c6315e79096ecaf469a6507cb030">operator&lt;&lt;</a>(qlonglong a)
<a name="l00147"></a>00147     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> += QString::number(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00148"></a><a class="code" href="class_log_1_1_log_message.html#a79266df9d3eca138dc19016ec2ce8372">00148</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> <a class="code" href="class_log_1_1_log_message.html#a40fca68d4fe6ec37e1099a52a6de7b24">arg</a>(qlonglong a)
<a name="l00149"></a>00149     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> = <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a>.arg(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00150"></a><a class="code" href="class_log_1_1_log_message.html#a8d44bffd9f4096325f41d3d277487f9b">00150</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> &amp;<a class="code" href="class_log_1_1_log_message.html#ac933c6315e79096ecaf469a6507cb030">operator&lt;&lt;</a>(qulonglong a)
<a name="l00151"></a>00151     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> += QString::number(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00152"></a><a class="code" href="class_log_1_1_log_message.html#aea3530655a7a58ab9fedeeaac863e41f">00152</a>   <span class="keyword">inline</span> <a class="code" href="class_log_1_1_log_message.html">LogMessage</a> <a class="code" href="class_log_1_1_log_message.html#a40fca68d4fe6ec37e1099a52a6de7b24">arg</a>(qulonglong a)
<a name="l00153"></a>00153     { <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a> = <a class="code" href="class_log_1_1_log_message.html#a0cc984644ebbad756a8232fdf5bec653">stream</a>-&gt;<a class="code" href="struct_log_1_1_log_message_1_1_stream.html#a69187d3cc7d834fafe14476c6d58f8dd">buf</a>.arg(a); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
<a name="l00154"></a>00154 };
<a name="l00155"></a>00155 
<a name="l00156"></a>00156 <span class="preprocessor">#endif</span>
<a name="l00157"></a>00157 <span class="preprocessor"></span>
</pre></div></div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Mon Aug 30 22:58:54 2010 for Vidalia by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>