Sophie

Sophie

distrib > Mageia > 6 > x86_64 > media > core-release > by-pkgid > abaab48f26603db3a2bcf7befcb26cf3 > files > 43

lib64rlog-devel-1.4-9.mga6.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>rlog: rlog::RLogChannel Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.0 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul></div>
<div class="nav">
<b>rlog</b>::<a class="el" href="classrlog_1_1RLogChannel.html">RLogChannel</a></div>
<h1>rlog::RLogChannel Class Reference</h1><!-- doxytag: class="rlog::RLogChannel" --><!-- doxytag: inherits="rlog::RLogNode" -->Implements a hierarchical logging channel.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="RLogChannel_8h-source.html">rlog/RLogChannel.h</a>&gt;</code>
<p>
<p>Inheritance diagram for rlog::RLogChannel:
<p><center><img src="classrlog_1_1RLogChannel.png" usemap="#rlog::RLogChannel_map" border="0" alt=""></center>
<map name="rlog::RLogChannel_map">
<area href="classrlog_1_1RLogNode.html" alt="rlog::RLogNode" shape="rect" coords="0,0,116,24">
</map>
<a href="classrlog_1_1RLogChannel-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ebfd0dd182cfacfcc9505210ef8d6f8e"></a><!-- doxytag: member="rlog::RLogChannel::RLogChannel" ref="ebfd0dd182cfacfcc9505210ef8d6f8e" args="(const std::string &amp;name, LogLevel level)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>RLogChannel</b> (const std::string &amp;name, LogLevel level)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrlog_1_1RLogChannel.html#b02534e508bec0d90cddd3c2ca2b12a7">publish</a> (const <a class="el" href="structrlog_1_1RLogData.html">RLogData</a> &amp;data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Publish data.  <a href="#b02534e508bec0d90cddd3c2ca2b12a7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c18e338cfdce26aea367347d2370b670"></a><!-- doxytag: member="rlog::RLogChannel::name" ref="c18e338cfdce26aea367347d2370b670" args="() const" -->
const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>name</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="868b92bef7d3c26ae598751435052b6c"></a><!-- doxytag: member="rlog::RLogChannel::logLevel" ref="868b92bef7d3c26ae598751435052b6c" args="() const" -->
LogLevel&nbsp;</td><td class="memItemRight" valign="bottom"><b>logLevel</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1d0e7e4356a74d7a023a38bc139f296"></a><!-- doxytag: member="rlog::RLogChannel::setLogLevel" ref="a1d0e7e4356a74d7a023a38bc139f296" args="(LogLevel level)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>setLogLevel</b> (LogLevel level)</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a7c64cea1781f7ec53953a5a37a7a3c"></a><!-- doxytag: member="rlog::RLogChannel::getComponent" ref="5a7c64cea1781f7ec53953a5a37a7a3c" args="(RLogChannel *componentParent, const char *component)" -->
<a class="el" href="classrlog_1_1RLogChannel.html">RLogChannel</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>getComponent</b> (<a class="el" href="classrlog_1_1RLogChannel.html">RLogChannel</a> *componentParent, const char *component)</td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classrlog_1_1RLogChannel.html">RLogChannel</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrlog_1_1RLogChannel.html#0a1d6647703bf72c94248004ae8a6b76">GetComponentChannel</a> (const char *component, const char *path, LogLevel level)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the named channel for a particular component.  <a href="#0a1d6647703bf72c94248004ae8a6b76"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Related Functions</h2></td></tr>
<tr><td colspan="2">(Note that these are not member functions.) <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classrlog_1_1RLogChannel.html">RLogChannel</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrlog_1_1RLogChannel.html#657f22441ad03c301e2e0bc04e79ad1a">GetGlobalChannel</a> (const char *path, LogLevel level)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the named channel across all components.  <a href="#657f22441ad03c301e2e0bc04e79ad1a"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Implements a hierarchical logging channel. 
<p>
You should not need to use <a class="el" href="classrlog_1_1RLogChannel.html">RLogChannel</a> directly under normal circumstances. See RLOG_CHANNEL() macro, <a class="el" href="classrlog_1_1RLogChannel.html#0a1d6647703bf72c94248004ae8a6b76">GetComponentChannel()</a> and <a class="el" href="classrlog_1_1RLogChannel.html#657f22441ad03c301e2e0bc04e79ad1a">GetGlobalChannel()</a><p>
<a class="el" href="classrlog_1_1RLogChannel.html">RLogChannel</a> implements channel logging support. A channel is a named logging location which is global to the program. Channels are hierarchically related.<p>
For example, if somewhere in your program a message is logged to "debug/foo/bar", then it will be delived to any subscribers to "debug/foo/bar", or subscribers to "debug/foo", or subscribers to "debug". Subscribing to a channel means you will receive anything published on that channel or sub-channels.<p>
As a special case, subscribing to the channel "" means you will receive all messages - as every message has a channel and the empty string "" is considered to mean the root of the channel tree.<p>
In addition, componentized channels are all considered sub channels of the global channel hierarchy. All <a class="el" href="group__RLogMacros.html#ge8be8a2d2e9da76cb70e2f29e0801f73">rDebug()</a>, <a class="el" href="group__RLogMacros.html#gd62ee67e7f1de16d4f71b1d8699cfac8">rWarning()</a>, and <a class="el" href="group__RLogMacros.html#gc31d5e1de248b22df42a34e58a2b7349">rError()</a> macros publish to the componentized channels (component defined by RLOG_COMPONENT).<p>
<div class="fragment"><pre class="fragment">      <span class="comment">// get the "debug" channel for our component.  This is the same as</span>
      <span class="comment">// what rDebug() publishes to.</span>
      RLogChannel *node = RLOG_CHANNEL( <span class="stringliteral">"debug"</span>, Log_Debug );
      <span class="comment">// equivalent to</span>
      RLogChannel *node = <a class="code" href="classrlog_1_1RLogChannel.html#0a1d6647703bf72c94248004ae8a6b76">GetComponentChannel</a>( RLOG_COMPONENT, <span class="stringliteral">"debug"</span> );

      <span class="comment">// Or, get the global "debug" channel, which will have messages from</span>
      <span class="comment">// *all* component's "debug" channels.</span>
      RLogChannel *node = <a class="code" href="classrlog_1_1RLogChannel.html#657f22441ad03c301e2e0bc04e79ad1a">GetGlobalChannel</a>( <span class="stringliteral">"debug"</span>, Log_Debug );
</pre></div><p>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Valient Gough </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd>RLOG_CHANNEL() <p>
<a class="el" href="classrlog_1_1RLogChannel.html#0a1d6647703bf72c94248004ae8a6b76">GetComponentChannel()</a> <p>
<a class="el" href="classrlog_1_1RLogChannel.html#657f22441ad03c301e2e0bc04e79ad1a">GetGlobalChannel()</a> </dd></dl>

<p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="b02534e508bec0d90cddd3c2ca2b12a7"></a><!-- doxytag: member="rlog::RLogChannel::publish" ref="b02534e508bec0d90cddd3c2ca2b12a7" args="(const RLogData &amp;data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RLogChannel::publish           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structrlog_1_1RLogData.html">RLogData</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Publish data. 
<p>
This iterates over the list of subscribers which have stated interest and sends them the data. 
<p>
Reimplemented from <a class="el" href="classrlog_1_1RLogNode.html#798da2f13a0d98a48c8ba454ca460b88">rlog::RLogNode</a>.
</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="0a1d6647703bf72c94248004ae8a6b76"></a><!-- doxytag: member="rlog::RLogChannel::GetComponentChannel" ref="0a1d6647703bf72c94248004ae8a6b76" args="(const char *component, const char *path, LogLevel level)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrlog_1_1RLogChannel.html">RLogChannel</a> * GetComponentChannel           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>component</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LogLevel&nbsp;</td>
          <td class="paramname"> <em>level</em> = <code>Log_Undef</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the named channel for a particular component. 
<p>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Valient Gough </dd></dl>

</div>
</div><p>
<a class="anchor" name="657f22441ad03c301e2e0bc04e79ad1a"></a><!-- doxytag: member="rlog::RLogChannel::GetGlobalChannel" ref="657f22441ad03c301e2e0bc04e79ad1a" args="(const char *path, LogLevel level)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrlog_1_1RLogChannel.html">RLogChannel</a> * GetGlobalChannel           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LogLevel&nbsp;</td>
          <td class="paramname"> <em>level</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the named channel across all components. 
<p>
Channels are hierarchical. See <a class="el" href="classrlog_1_1RLogChannel.html">RLogChannel</a> for more detail. The global channel contains messages for all component channels.<p>
For example, subscribing to the global "debug" means the subscriber would also get messages from &lt;Component , "debug"&gt;, and &lt;Component-B, "debug"&gt;, and &lt;Component-C, "debug/foo"&gt;, etc.<p>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Valient Gough </dd></dl>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="RLogChannel_8h-source.html">RLogChannel.h</a><li>RLogChannel.cpp</ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 20 22:57:45 2006 for rlog by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.0 </small></address>
</body>
</html>