Sophie

Sophie

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

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::StdioNode 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_1StdioNode.html">StdioNode</a></div>
<h1>rlog::StdioNode Class Reference</h1><!-- doxytag: class="rlog::StdioNode" --><!-- doxytag: inherits="rlog::RLogNode" -->Logs subscribed messages to a file descriptor.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="StdioNode_8h-source.html">rlog/StdioNode.h</a>&gt;</code>
<p>
<p>Inheritance diagram for rlog::StdioNode:
<p><center><img src="classrlog_1_1StdioNode.png" usemap="#rlog::StdioNode_map" border="0" alt=""></center>
<map name="rlog::StdioNode_map">
<area href="classrlog_1_1RLogNode.html" alt="rlog::RLogNode" shape="rect" coords="0,0,99,24">
</map>
<a href="classrlog_1_1StdioNode-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 Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>StdioFlags</b> { <br>
&nbsp;&nbsp;<b>DefaultOutput</b> =  0, 
<b>OutputColor</b> =  1, 
<b>OutputThreadId</b> =  2, 
<b>OutputContext</b> =  4, 
<br>
&nbsp;&nbsp;<b>OutputChannel</b> =  8
<br>
 }</td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrlog_1_1StdioNode.html#22e6a01375217deaaa93ec17d8a7b037">StdioNode</a> (int fdOut=2, int flags=(int) DefaultOutput)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39e65b464b25673ac5df0c2c9cb6fdb0"></a><!-- doxytag: member="rlog::StdioNode::StdioNode" ref="39e65b464b25673ac5df0c2c9cb6fdb0" args="(int fdOut, bool colorize_if_tty)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>StdioNode</b> (int fdOut, bool colorize_if_tty)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrlog_1_1StdioNode.html#b31edd3f6d4cfc9a2dcb258399c5c5d7">subscribeTo</a> (<a class="el" href="classrlog_1_1RLogNode.html">RLogNode</a> *node)</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></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_1StdioNode.html#ce329c8b9cf6c2308dc2678f5e941071">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="#ce329c8b9cf6c2308dc2678f5e941071"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ccbe7cc6f2e6ba13f1329882eb987cd"></a><!-- doxytag: member="rlog::StdioNode::StdioNode" ref="0ccbe7cc6f2e6ba13f1329882eb987cd" args="(const StdioNode &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>StdioNode</b> (const <a class="el" href="classrlog_1_1StdioNode.html">StdioNode</a> &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="24970b6f08853213e424514b9b771f58"></a><!-- doxytag: member="rlog::StdioNode::operator=" ref="24970b6f08853213e424514b9b771f58" args="(const StdioNode &amp;)" -->
<a class="el" href="classrlog_1_1StdioNode.html">StdioNode</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classrlog_1_1StdioNode.html">StdioNode</a> &amp;)</td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d785db09ac3bb5bb27c1e16a7f1d6be2"></a><!-- doxytag: member="rlog::StdioNode::colorize" ref="d785db09ac3bb5bb27c1e16a7f1d6be2" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>colorize</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="12a113a5daef5cb60737cb735dc816b1"></a><!-- doxytag: member="rlog::StdioNode::outputThreadId" ref="12a113a5daef5cb60737cb735dc816b1" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>outputThreadId</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="953f30f0cb9c4b6ab054fb336270e7b5"></a><!-- doxytag: member="rlog::StdioNode::outputContext" ref="953f30f0cb9c4b6ab054fb336270e7b5" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>outputContext</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c4845d2932a22922a4fedaa3cd745e76"></a><!-- doxytag: member="rlog::StdioNode::outputChannel" ref="c4845d2932a22922a4fedaa3cd745e76" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>outputChannel</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1927c4832ad6ae6b1c78251fd74faf88"></a><!-- doxytag: member="rlog::StdioNode::fdOut" ref="1927c4832ad6ae6b1c78251fd74faf88" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>fdOut</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Logs subscribed messages to a file descriptor. 
<p>
This displays all subscribed messages to a file descriptor. If the output is a terminal, then the messages are colorized (yellow for warnings, red for errors).<p>
For example, to log to stderr: <div class="fragment"><pre class="fragment">  <span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)
  {
      <span class="comment">// tell RLog the program name..</span>
      RLog_Init( argv[0] );

      <span class="comment">// log to standard error</span>
      <a class="code" href="classrlog_1_1StdioNode.html#22e6a01375217deaaa93ec17d8a7b037">StdioNode</a> stdlog( STDERR_FILENO );

      <span class="comment">// show all warning and error messages, no matter what component they</span>
      <span class="comment">// come from.</span>
      stdlog.subscribeTo( GetGlobalChannel( <span class="stringliteral">"warning"</span> ));
      stdlog.subscribeTo( GetGlobalChannel( <span class="stringliteral">"error"</span> ));
  }
</pre></div><p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classrlog_1_1RLogChannel.html">RLogChannel</a> <p>
RLOG_CHANNEL() </dd></dl>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Valient Gough </dd></dl>

<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="22e6a01375217deaaa93ec17d8a7b037"></a><!-- doxytag: member="rlog::StdioNode::StdioNode" ref="22e6a01375217deaaa93ec17d8a7b037" args="(int fdOut=2, int flags=(int) DefaultOutput)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">StdioNode::StdioNode           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>_fdOut</em> = <code>2</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>flags</em> = <code>(int)DefaultOutput</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>_fdOut</em>&nbsp;</td><td>File descriptor to send output </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>bitmask of the following options: <div class="fragment"><pre class="fragment">      OutputChannel - Includes the channel name in the output. e.g. [debug]
      OutputContext - Includes the filename and line number in the output. e.g. OpsecAgent.cpp:209
      OutputColor   - Output to a TTY is colored based on log level (not supported by Win32 console)
      OutputThreadId - Includes the thread <span class="keywordtype">id</span> in the output e.g. [tid:37333936] (Not supported on Win32)
</pre></div> </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="b31edd3f6d4cfc9a2dcb258399c5c5d7"></a><!-- doxytag: member="rlog::StdioNode::subscribeTo" ref="b31edd3f6d4cfc9a2dcb258399c5c5d7" args="(RLogNode *node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void StdioNode::subscribeTo           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classrlog_1_1RLogNode.html">RLogNode</a> *&nbsp;</td>
          <td class="paramname"> <em>node</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Subscribe to log messages.<p>
Example: <div class="fragment"><pre class="fragment">   <a class="code" href="classrlog_1_1StdioNode.html#22e6a01375217deaaa93ec17d8a7b037">StdioNode</a> log( STDERR_FILENO );
   <span class="comment">// subscribe to error and warning messages</span>
   log.subscribeTo( GetGlobalChannel(<span class="stringliteral">"error"</span> ));
   log.subscribeTo( RLOG_CHANNEL(<span class="stringliteral">"warning"</span> ));
</pre></div> 
</div>
</div><p>
<a class="anchor" name="ce329c8b9cf6c2308dc2678f5e941071"></a><!-- doxytag: member="rlog::StdioNode::publish" ref="ce329c8b9cf6c2308dc2678f5e941071" args="(const RLogData &amp;data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void StdioNode::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> [protected, 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>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="StdioNode_8h-source.html">StdioNode.h</a><li>StdioNode.cpp</ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 20 22:57:46 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>