Home | History | Annotate | Download | only in oscl_html
      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
      2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
      3 <title>PVLogger class Reference</title>
      4 <link href="doxygen.css" rel="stylesheet" type="text/css">
      5 </head><body>
      6 <!-- Generated by Doxygen 1.2.18 -->
      7 <center>
      8 <a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
      9 <hr><h1>PVLogger Class Reference</h1><code>#include &lt;<a class="el" href="pvlogger_8h-source.html">pvlogger.h</a>&gt;</code>
     10 <p>
     11 <table border=0 cellpadding=0 cellspacing=0>
     12 <tr><td></td></tr>
     13 <tr><td colspan=2><br><h2>Public Types</h2></td></tr>
     14 <tr><td nowrap align=right valign=top>typedef int32&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#s0">log_level_type</a></td></tr>
     15 <tr><td nowrap align=right valign=top>typedef int32&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#s1">message_id_type</a></td></tr>
     16 <tr><td nowrap align=right valign=top>typedef int32&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#s2">filter_status_type</a></td></tr>
     17 <tr><td nowrap align=right valign=top>typedef <a class="el" href="class__OsclBasicAllocator.html">_OsclBasicAllocator</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#s3">alloc_type</a></td></tr>
     18 <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
     19 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a0">SetLogLevel</a> (<a class="el" href="classPVLogger.html#s0">log_level_type</a> level)</td></tr>
     20 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a1">SetLogLevelAndPropagate</a> (<a class="el" href="classPVLogger.html#s0">log_level_type</a> level)</td></tr>
     21 <tr><td nowrap align=right valign=top><a class="el" href="classPVLogger.html#s0">log_level_type</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a2">GetLogLevel</a> ()</td></tr>
     22 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a3">DisableAppenderInheritance</a> ()</td></tr>
     23 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a4">AddAppender</a> (<a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a>&lt; <a class="el" href="classPVLoggerAppender.html">PVLoggerAppender</a> &gt; &amp;appender)</td></tr>
     24 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a5">RemoveAppender</a> (<a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a>&lt; <a class="el" href="classPVLoggerAppender.html">PVLoggerAppender</a> &gt; &amp;appender)</td></tr>
     25 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a6">AddFilter</a> (<a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a>&lt; <a class="el" href="classPVLoggerFilter.html">PVLoggerFilter</a> &gt; &amp;filter)</td></tr>
     26 <tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a7">GetNumAppenders</a> ()</td></tr>
     27 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a8">IsActive</a> (<a class="el" href="classPVLogger.html#s0">log_level_type</a> level)</td></tr>
     28 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a9">LogMsgStringV</a> (<a class="el" href="classPVLogger.html#s1">message_id_type</a> msgID, const char *fmt, va_list arguments)</td></tr>
     29 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a10">LogMsgBuffersV</a> (<a class="el" href="classPVLogger.html#s1">message_id_type</a> msgID, int32 numPairs, va_list arguments)</td></tr>
     30 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a11">LogMsgString</a> (<a class="el" href="classPVLogger.html#s1">message_id_type</a> msgID, const char *fmt,...)</td></tr>
     31 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a12">LogMsgBuffers</a> (<a class="el" href="classPVLogger.html#s1">message_id_type</a> msgID, int32 numPairs,...)</td></tr>
     32 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a13">PVLogger</a> (const char *inputTag, <a class="el" href="classPVLogger.html#s0">log_level_type</a> level, bool oAppenderInheritance)</td></tr>
     33 <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#a14">~PVLogger</a> ()</td></tr>
     34 <tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
     35 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#d0">Init</a> ()</td></tr>
     36 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#d1">Cleanup</a> ()</td></tr>
     37 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF PVLogger *&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#d2">GetLoggerObject</a> (const char *inputTag)</td></tr>
     38 <tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
     39 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#b0">SetParent</a> (PVLogger *parentLogger)</td></tr>
     40 <tr><td nowrap align=right valign=top>PVLogger *&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#b1">GetParent</a> ()</td></tr>
     41 <tr><td colspan=2><br><h2>Friends</h2></td></tr>
     42 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classPVLogger.html#l0">PVLoggerRegistry</a></td></tr>
     43 </table>
     44 <hr><h2>Member Typedef Documentation</h2>
     45 <a name="s3" doxytag="PVLogger::alloc_type"></a><p>
     46 <table width="100%" cellpadding="2" cellspacing="0" border="0">
     47   <tr>
     48     <td class="md">
     49       <table cellpadding="0" cellspacing="0" border="0">
     50         <tr>
     51           <td class="md" nowrap valign="top"> typedef <a class="el" href="class__OsclBasicAllocator.html">_OsclBasicAllocator</a> PVLogger::alloc_type
     52       </table>
     53     </td>
     54   </tr>
     55 </table>
     56 <table cellspacing=5 cellpadding=0 border=0>
     57   <tr>
     58     <td>
     59       &nbsp;
     60     </td>
     61     <td>
     62 
     63 <p>
     64     </td>
     65   </tr>
     66 </table>
     67 <a name="s2" doxytag="PVLogger::filter_status_type"></a><p>
     68 <table width="100%" cellpadding="2" cellspacing="0" border="0">
     69   <tr>
     70     <td class="md">
     71       <table cellpadding="0" cellspacing="0" border="0">
     72         <tr>
     73           <td class="md" nowrap valign="top"> typedef int32 PVLogger::filter_status_type
     74       </table>
     75     </td>
     76   </tr>
     77 </table>
     78 <table cellspacing=5 cellpadding=0 border=0>
     79   <tr>
     80     <td>
     81       &nbsp;
     82     </td>
     83     <td>
     84 
     85 <p>
     86     </td>
     87   </tr>
     88 </table>
     89 <a name="s0" doxytag="PVLogger::log_level_type"></a><p>
     90 <table width="100%" cellpadding="2" cellspacing="0" border="0">
     91   <tr>
     92     <td class="md">
     93       <table cellpadding="0" cellspacing="0" border="0">
     94         <tr>
     95           <td class="md" nowrap valign="top"> typedef int32 PVLogger::log_level_type
     96       </table>
     97     </td>
     98   </tr>
     99 </table>
    100 <table cellspacing=5 cellpadding=0 border=0>
    101   <tr>
    102     <td>
    103       &nbsp;
    104     </td>
    105     <td>
    106 
    107 <p>
    108     </td>
    109   </tr>
    110 </table>
    111 <a name="s1" doxytag="PVLogger::message_id_type"></a><p>
    112 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    113   <tr>
    114     <td class="md">
    115       <table cellpadding="0" cellspacing="0" border="0">
    116         <tr>
    117           <td class="md" nowrap valign="top"> typedef int32 PVLogger::message_id_type
    118       </table>
    119     </td>
    120   </tr>
    121 </table>
    122 <table cellspacing=5 cellpadding=0 border=0>
    123   <tr>
    124     <td>
    125       &nbsp;
    126     </td>
    127     <td>
    128 
    129 <p>
    130     </td>
    131   </tr>
    132 </table>
    133 <hr><h2>Constructor &amp; Destructor Documentation</h2>
    134 <a name="a13" doxytag="PVLogger::PVLogger"></a><p>
    135 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    136   <tr>
    137     <td class="md">
    138       <table cellpadding="0" cellspacing="0" border="0">
    139         <tr>
    140           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF PVLogger::PVLogger </td>
    141           <td class="md" valign="top">(&nbsp;</td>
    142           <td class="md" nowrap valign="top">const char *&nbsp;</td>
    143           <td class="mdname" nowrap>&nbsp; <em>inputTag</em>, </td>
    144         </tr>
    145         <tr>
    146           <td></td>
    147           <td></td>
    148           <td class="md" nowrap><a class="el" href="classPVLogger.html#s0">log_level_type</a>&nbsp;</td>
    149           <td class="mdname" nowrap>&nbsp; <em>level</em>, </td>
    150         </tr>
    151         <tr>
    152           <td></td>
    153           <td></td>
    154           <td class="md" nowrap>bool&nbsp;</td>
    155           <td class="mdname" nowrap>&nbsp; <em>oAppenderInheritance</em></td>
    156         </tr>
    157         <tr>
    158           <td></td>
    159           <td class="md">)&nbsp;</td>
    160           <td class="md" colspan="2"></td>
    161         </tr>
    162 
    163       </table>
    164     </td>
    165   </tr>
    166 </table>
    167 <table cellspacing=5 cellpadding=0 border=0>
    168   <tr>
    169     <td>
    170       &nbsp;
    171     </td>
    172     <td>
    173 
    174 <p>
    175 Logger Constructor<dl compact><dt><b>Parameters: </b></dt><dd>
    176 <table border=0 cellspacing=2 cellpadding=0>
    177 <tr><td valign=top><em>tag</em>&nbsp;</td><td>
    178 Logger tag, unique to a logging control point </td></tr>
    179 <tr><td valign=top><em>level</em>&nbsp;</td><td>
    180 Active Log level of the logger </td></tr>
    181 <tr><td valign=top><em>oAppenderInheritance</em>&nbsp;</td><td>
    182 </td></tr>
    183 </table>
    184 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    185 NONE </dl>    </td>
    186   </tr>
    187 </table>
    188 <a name="a14" doxytag="PVLogger::~PVLogger"></a><p>
    189 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    190   <tr>
    191     <td class="md">
    192       <table cellpadding="0" cellspacing="0" border="0">
    193         <tr>
    194           <td class="md" nowrap valign="top"> virtual PVLogger::~PVLogger </td>
    195           <td class="md" valign="top">(&nbsp;</td>
    196           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    197           <td class="md" valign="top">)&nbsp;</td>
    198           <td class="md" nowrap><code> [inline, virtual]</code></td>
    199         </tr>
    200 
    201       </table>
    202     </td>
    203   </tr>
    204 </table>
    205 <table cellspacing=5 cellpadding=0 border=0>
    206   <tr>
    207     <td>
    208       &nbsp;
    209     </td>
    210     <td>
    211 
    212 <p>
    213     </td>
    214   </tr>
    215 </table>
    216 <hr><h2>Member Function Documentation</h2>
    217 <a name="a4" doxytag="PVLogger::AddAppender"></a><p>
    218 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    219   <tr>
    220     <td class="md">
    221       <table cellpadding="0" cellspacing="0" border="0">
    222         <tr>
    223           <td class="md" nowrap valign="top"> void PVLogger::AddAppender </td>
    224           <td class="md" valign="top">(&nbsp;</td>
    225           <td class="md" nowrap valign="top"><a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a>&lt; <a class="el" href="classPVLoggerAppender.html">PVLoggerAppender</a> &gt; &amp;&nbsp;</td>
    226           <td class="mdname1" valign="top" nowrap>&nbsp; <em>appender</em>          </td>
    227           <td class="md" valign="top">)&nbsp;</td>
    228           <td class="md" nowrap><code> [inline]</code></td>
    229         </tr>
    230 
    231       </table>
    232     </td>
    233   </tr>
    234 </table>
    235 <table cellspacing=5 cellpadding=0 border=0>
    236   <tr>
    237     <td>
    238       &nbsp;
    239     </td>
    240     <td>
    241 
    242 <p>
    243 This method adds an appender to the logging control point. Each logger maintains a list of appenders. Any msg to a logger if deemed active is logged to all the appenders.<dl compact><dt><b>Parameters: </b></dt><dd>
    244 <table border=0 cellspacing=2 cellpadding=0>
    245 <tr><td valign=top><em>appender</em>&nbsp;</td><td>
    246 pointer to the appender to add</td></tr>
    247 </table>
    248 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    249 NONE</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
    250 <table border=0 cellspacing=2 cellpadding=0>
    251 <tr><td valign=top><em>leaves</em>&nbsp;</td><td>
    252  if out of memory </td></tr>
    253 </table>
    254 </dl>    </td>
    255   </tr>
    256 </table>
    257 <a name="a6" doxytag="PVLogger::AddFilter"></a><p>
    258 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    259   <tr>
    260     <td class="md">
    261       <table cellpadding="0" cellspacing="0" border="0">
    262         <tr>
    263           <td class="md" nowrap valign="top"> void PVLogger::AddFilter </td>
    264           <td class="md" valign="top">(&nbsp;</td>
    265           <td class="md" nowrap valign="top"><a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a>&lt; <a class="el" href="classPVLoggerFilter.html">PVLoggerFilter</a> &gt; &amp;&nbsp;</td>
    266           <td class="mdname1" valign="top" nowrap>&nbsp; <em>filter</em>          </td>
    267           <td class="md" valign="top">)&nbsp;</td>
    268           <td class="md" nowrap><code> [inline]</code></td>
    269         </tr>
    270 
    271       </table>
    272     </td>
    273   </tr>
    274 </table>
    275 <table cellspacing=5 cellpadding=0 border=0>
    276   <tr>
    277     <td>
    278       &nbsp;
    279     </td>
    280     <td>
    281 
    282 <p>
    283 This method adds a message filter to the logging control point. Each logger maintains a list of filters. Any msg to a logger if deemed active is passed through the msg filters prior to logging.<dl compact><dt><b>Parameters: </b></dt><dd>
    284 <table border=0 cellspacing=2 cellpadding=0>
    285 <tr><td valign=top><em>msgFilter</em>&nbsp;</td><td>
    286 pointer to the filter to add</td></tr>
    287 </table>
    288 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    289 NONE</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
    290 <table border=0 cellspacing=2 cellpadding=0>
    291 <tr><td valign=top><em>leaves</em>&nbsp;</td><td>
    292  if out of memory </td></tr>
    293 </table>
    294 </dl>    </td>
    295   </tr>
    296 </table>
    297 <a name="d1" doxytag="PVLogger::Cleanup"></a><p>
    298 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    299   <tr>
    300     <td class="md">
    301       <table cellpadding="0" cellspacing="0" border="0">
    302         <tr>
    303           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::Cleanup </td>
    304           <td class="md" valign="top">(&nbsp;</td>
    305           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    306           <td class="md" valign="top">)&nbsp;</td>
    307           <td class="md" nowrap><code> [static]</code></td>
    308         </tr>
    309 
    310       </table>
    311     </td>
    312   </tr>
    313 </table>
    314 <table cellspacing=5 cellpadding=0 border=0>
    315   <tr>
    316     <td>
    317       &nbsp;
    318     </td>
    319     <td>
    320 
    321 <p>
    322 Frees the PVLogger singleton used by the current thread. This must be called before thread exit. No messages can be logged after cleanup.
    323 <p>
    324 <dl compact><dt><b>Returns: </b></dt><dd>
    325 </dl>    </td>
    326   </tr>
    327 </table>
    328 <a name="a3" doxytag="PVLogger::DisableAppenderInheritance"></a><p>
    329 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    330   <tr>
    331     <td class="md">
    332       <table cellpadding="0" cellspacing="0" border="0">
    333         <tr>
    334           <td class="md" nowrap valign="top"> void PVLogger::DisableAppenderInheritance </td>
    335           <td class="md" valign="top">(&nbsp;</td>
    336           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    337           <td class="md" valign="top">)&nbsp;</td>
    338           <td class="md" nowrap><code> [inline]</code></td>
    339         </tr>
    340 
    341       </table>
    342     </td>
    343   </tr>
    344 </table>
    345 <table cellspacing=5 cellpadding=0 border=0>
    346   <tr>
    347     <td>
    348       &nbsp;
    349     </td>
    350     <td>
    351 
    352 <p>
    353 This method disables appender inheritance for the logging control point     </td>
    354   </tr>
    355 </table>
    356 <a name="d2" doxytag="PVLogger::GetLoggerObject"></a><p>
    357 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    358   <tr>
    359     <td class="md">
    360       <table cellpadding="0" cellspacing="0" border="0">
    361         <tr>
    362           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF PVLogger* PVLogger::GetLoggerObject </td>
    363           <td class="md" valign="top">(&nbsp;</td>
    364           <td class="md" nowrap valign="top">const char *&nbsp;</td>
    365           <td class="mdname1" valign="top" nowrap>&nbsp; <em>inputTag</em>          </td>
    366           <td class="md" valign="top">)&nbsp;</td>
    367           <td class="md" nowrap><code> [static]</code></td>
    368         </tr>
    369 
    370       </table>
    371     </td>
    372   </tr>
    373 </table>
    374 <table cellspacing=5 cellpadding=0 border=0>
    375   <tr>
    376     <td>
    377       &nbsp;
    378     </td>
    379     <td>
    380 
    381 <p>
    382 This is a factory method to create a log control point, with a certain input tag. There is a central registry of all the loggers, with their corresponding tags, called PV Logger Registry. In case the logger with the specified tag exists in the global registry, it is returned, else a new one is created and a pointer to the same is returend.<dl compact><dt><b>Parameters: </b></dt><dd>
    383 <table border=0 cellspacing=2 cellpadding=0>
    384 <tr><td valign=top><em>inputTag</em>&nbsp;</td><td>
    385 logger tag, viz. "x.y.z" </td></tr>
    386 <tr><td valign=top><em>level</em>&nbsp;</td><td>
    387 log level associated with the logging control point (All messages with log levels less than equal to the log level of the control point would be logged)</td></tr>
    388 <tr><td valign=top><em>oAppenderInheritance</em>&nbsp;</td><td>
    389 </td></tr>
    390 </table>
    391 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    392 PVLogger* Pointer to the logging control point</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
    393 <table border=0 cellspacing=2 cellpadding=0>
    394 <tr><td valign=top><em>leaves</em>&nbsp;</td><td>
    395  if out of memory </td></tr>
    396 </table>
    397 </dl>    </td>
    398   </tr>
    399 </table>
    400 <a name="a2" doxytag="PVLogger::GetLogLevel"></a><p>
    401 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    402   <tr>
    403     <td class="md">
    404       <table cellpadding="0" cellspacing="0" border="0">
    405         <tr>
    406           <td class="md" nowrap valign="top"> <a class="el" href="classPVLogger.html#s0">log_level_type</a> PVLogger::GetLogLevel </td>
    407           <td class="md" valign="top">(&nbsp;</td>
    408           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    409           <td class="md" valign="top">)&nbsp;</td>
    410           <td class="md" nowrap><code> [inline]</code></td>
    411         </tr>
    412 
    413       </table>
    414     </td>
    415   </tr>
    416 </table>
    417 <table cellspacing=5 cellpadding=0 border=0>
    418   <tr>
    419     <td>
    420       &nbsp;
    421     </td>
    422     <td>
    423 
    424 <p>
    425 This method returns the log level of a control point. This could either have been set explicitly by the user (at the time of creation or later) or could have been inherited from one of its ancestors.
    426 <p>
    427 <dl compact><dt><b>Returns: </b></dt><dd>
    428 log level associated with the logging control point </dl>    </td>
    429   </tr>
    430 </table>
    431 <a name="a7" doxytag="PVLogger::GetNumAppenders"></a><p>
    432 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    433   <tr>
    434     <td class="md">
    435       <table cellpadding="0" cellspacing="0" border="0">
    436         <tr>
    437           <td class="md" nowrap valign="top"> uint32 PVLogger::GetNumAppenders </td>
    438           <td class="md" valign="top">(&nbsp;</td>
    439           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    440           <td class="md" valign="top">)&nbsp;</td>
    441           <td class="md" nowrap><code> [inline]</code></td>
    442         </tr>
    443 
    444       </table>
    445     </td>
    446   </tr>
    447 </table>
    448 <table cellspacing=5 cellpadding=0 border=0>
    449   <tr>
    450     <td>
    451       &nbsp;
    452     </td>
    453     <td>
    454 
    455 <p>
    456 This method returns the number of appenders attached to the logging control point.     </td>
    457   </tr>
    458 </table>
    459 <a name="b1" doxytag="PVLogger::GetParent"></a><p>
    460 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    461   <tr>
    462     <td class="md">
    463       <table cellpadding="0" cellspacing="0" border="0">
    464         <tr>
    465           <td class="md" nowrap valign="top"> PVLogger* PVLogger::GetParent </td>
    466           <td class="md" valign="top">(&nbsp;</td>
    467           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    468           <td class="md" valign="top">)&nbsp;</td>
    469           <td class="md" nowrap><code> [inline, protected]</code></td>
    470         </tr>
    471 
    472       </table>
    473     </td>
    474   </tr>
    475 </table>
    476 <table cellspacing=5 cellpadding=0 border=0>
    477   <tr>
    478     <td>
    479       &nbsp;
    480     </td>
    481     <td>
    482 
    483 <p>
    484     </td>
    485   </tr>
    486 </table>
    487 <a name="d0" doxytag="PVLogger::Init"></a><p>
    488 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    489   <tr>
    490     <td class="md">
    491       <table cellpadding="0" cellspacing="0" border="0">
    492         <tr>
    493           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::Init </td>
    494           <td class="md" valign="top">(&nbsp;</td>
    495           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    496           <td class="md" valign="top">)&nbsp;</td>
    497           <td class="md" nowrap><code> [static]</code></td>
    498         </tr>
    499 
    500       </table>
    501     </td>
    502   </tr>
    503 </table>
    504 <table cellspacing=5 cellpadding=0 border=0>
    505   <tr>
    506     <td>
    507       &nbsp;
    508     </td>
    509     <td>
    510 
    511 <p>
    512 PVLogger needs to be initialized once per thread. This creates the PVLogger singleton that is used throughout the duration of the thread. Initialization must occur before the first message is logged.<dl compact><dt><b>Exceptions: </b></dt><dd>
    513 <table border=0 cellspacing=2 cellpadding=0>
    514 <tr><td valign=top><em>leaves</em>&nbsp;</td><td>
    515  if out of memory </td></tr>
    516 </table>
    517 </dl>    </td>
    518   </tr>
    519 </table>
    520 <a name="a8" doxytag="PVLogger::IsActive"></a><p>
    521 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    522   <tr>
    523     <td class="md">
    524       <table cellpadding="0" cellspacing="0" border="0">
    525         <tr>
    526           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool PVLogger::IsActive </td>
    527           <td class="md" valign="top">(&nbsp;</td>
    528           <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s0">log_level_type</a>&nbsp;</td>
    529           <td class="mdname1" valign="top" nowrap>&nbsp; <em>level</em>          </td>
    530           <td class="md" valign="top">)&nbsp;</td>
    531           <td class="md" nowrap></td>
    532         </tr>
    533 
    534       </table>
    535     </td>
    536   </tr>
    537 </table>
    538 <table cellspacing=5 cellpadding=0 border=0>
    539   <tr>
    540     <td>
    541       &nbsp;
    542     </td>
    543     <td>
    544 
    545 <p>
    546 This method determines if a msg passed to the logging control point is active or not. Only messages that are deemed active are logged. Messages are considered not active if any of the following criteria are met:<ul>
    547 <li>All logging is disabled at this logging control point</ul>
    548 If all the log levels, leading upto the root log point are uninitialized<ul>
    549 <li>If the log level of the incoming message is LESS THAN that of the active log level of the logging control point.</ul>
    550 <dl compact><dt><b>Returns: </b></dt><dd>
    551 BOOL </dl>    </td>
    552   </tr>
    553 </table>
    554 <a name="a12" doxytag="PVLogger::LogMsgBuffers"></a><p>
    555 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    556   <tr>
    557     <td class="md">
    558       <table cellpadding="0" cellspacing="0" border="0">
    559         <tr>
    560           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::LogMsgBuffers </td>
    561           <td class="md" valign="top">(&nbsp;</td>
    562           <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s1">message_id_type</a>&nbsp;</td>
    563           <td class="mdname" nowrap>&nbsp; <em>msgID</em>, </td>
    564         </tr>
    565         <tr>
    566           <td></td>
    567           <td></td>
    568           <td class="md" nowrap>int32&nbsp;</td>
    569           <td class="mdname" nowrap>&nbsp; <em>numPairs</em>, </td>
    570         </tr>
    571         <tr>
    572           <td></td>
    573           <td></td>
    574           <td class="md" nowrap>...&nbsp;</td>
    575           <td class="mdname" nowrap>&nbsp;</td>
    576         </tr>
    577         <tr>
    578           <td></td>
    579           <td class="md">)&nbsp;</td>
    580           <td class="md" colspan="2"></td>
    581         </tr>
    582 
    583       </table>
    584     </td>
    585   </tr>
    586 </table>
    587 <table cellspacing=5 cellpadding=0 border=0>
    588   <tr>
    589     <td>
    590       &nbsp;
    591     </td>
    592     <td>
    593 
    594 <p>
    595 This method logs opaque data buffers to all the appenders, after running thrrough the message filters. After logging the message to the appenders attached to the current control point, the message is passed up to the parent node, only if appender inheritance is enabled.<dl compact><dt><b>Parameters: </b></dt><dd>
    596 <table border=0 cellspacing=2 cellpadding=0>
    597 <tr><td valign=top><em>msgID</em>&nbsp;</td><td>
    598 Message ID, that is unique to a message </td></tr>
    599 <tr><td valign=top><em>numPairs</em>&nbsp;</td><td>
    600 Number of (ptr_len, ptr) pairs </td></tr>
    601 <tr><td valign=top><em>arguments</em>&nbsp;</td><td>
    602 Variable list of arguments</td></tr>
    603 </table>
    604 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    605 NONE </dl>    </td>
    606   </tr>
    607 </table>
    608 <a name="a10" doxytag="PVLogger::LogMsgBuffersV"></a><p>
    609 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    610   <tr>
    611     <td class="md">
    612       <table cellpadding="0" cellspacing="0" border="0">
    613         <tr>
    614           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::LogMsgBuffersV </td>
    615           <td class="md" valign="top">(&nbsp;</td>
    616           <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s1">message_id_type</a>&nbsp;</td>
    617           <td class="mdname" nowrap>&nbsp; <em>msgID</em>, </td>
    618         </tr>
    619         <tr>
    620           <td></td>
    621           <td></td>
    622           <td class="md" nowrap>int32&nbsp;</td>
    623           <td class="mdname" nowrap>&nbsp; <em>numPairs</em>, </td>
    624         </tr>
    625         <tr>
    626           <td></td>
    627           <td></td>
    628           <td class="md" nowrap>va_list&nbsp;</td>
    629           <td class="mdname" nowrap>&nbsp; <em>arguments</em></td>
    630         </tr>
    631         <tr>
    632           <td></td>
    633           <td class="md">)&nbsp;</td>
    634           <td class="md" colspan="2"></td>
    635         </tr>
    636 
    637       </table>
    638     </td>
    639   </tr>
    640 </table>
    641 <table cellspacing=5 cellpadding=0 border=0>
    642   <tr>
    643     <td>
    644       &nbsp;
    645     </td>
    646     <td>
    647 
    648 <p>
    649 This method logs opaque data buffers to all the appenders, after running thrrough the message filters. After logging the message to the appenders attached to the current control point, the message is passed up to the parent node, only if appender inheritance is enabled.<dl compact><dt><b>Parameters: </b></dt><dd>
    650 <table border=0 cellspacing=2 cellpadding=0>
    651 <tr><td valign=top><em>msgID</em>&nbsp;</td><td>
    652 Message ID, that is unique to a message </td></tr>
    653 <tr><td valign=top><em>numPairs</em>&nbsp;</td><td>
    654 Number of (ptr_len, ptr) pairs </td></tr>
    655 <tr><td valign=top><em>arguments</em>&nbsp;</td><td>
    656 Variable list of arguments</td></tr>
    657 </table>
    658 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    659 NONE </dl>    </td>
    660   </tr>
    661 </table>
    662 <a name="a11" doxytag="PVLogger::LogMsgString"></a><p>
    663 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    664   <tr>
    665     <td class="md">
    666       <table cellpadding="0" cellspacing="0" border="0">
    667         <tr>
    668           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::LogMsgString </td>
    669           <td class="md" valign="top">(&nbsp;</td>
    670           <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s1">message_id_type</a>&nbsp;</td>
    671           <td class="mdname" nowrap>&nbsp; <em>msgID</em>, </td>
    672         </tr>
    673         <tr>
    674           <td></td>
    675           <td></td>
    676           <td class="md" nowrap>const char *&nbsp;</td>
    677           <td class="mdname" nowrap>&nbsp; <em>fmt</em>, </td>
    678         </tr>
    679         <tr>
    680           <td></td>
    681           <td></td>
    682           <td class="md" nowrap>...&nbsp;</td>
    683           <td class="mdname" nowrap>&nbsp;</td>
    684         </tr>
    685         <tr>
    686           <td></td>
    687           <td class="md">)&nbsp;</td>
    688           <td class="md" colspan="2"></td>
    689         </tr>
    690 
    691       </table>
    692     </td>
    693   </tr>
    694 </table>
    695 <table cellspacing=5 cellpadding=0 border=0>
    696   <tr>
    697     <td>
    698       &nbsp;
    699     </td>
    700     <td>
    701 
    702 <p>
    703 This method logs formatted text msg to all the appenders, after running thrrough the message filters. After logging the message to the appenders attached to the current control point, the message is passed up to the parent node, only if appender inheritance is enabled.<dl compact><dt><b>Parameters: </b></dt><dd>
    704 <table border=0 cellspacing=2 cellpadding=0>
    705 <tr><td valign=top><em>msgID</em>&nbsp;</td><td>
    706 Message ID, that is unique to a message </td></tr>
    707 <tr><td valign=top><em>fmt</em>&nbsp;</td><td>
    708 format string, similar to one taken by printf </td></tr>
    709 <tr><td valign=top><em>arguments</em>&nbsp;</td><td>
    710 Variable list of arguments</td></tr>
    711 </table>
    712 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    713 NONE </dl>    </td>
    714   </tr>
    715 </table>
    716 <a name="a9" doxytag="PVLogger::LogMsgStringV"></a><p>
    717 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    718   <tr>
    719     <td class="md">
    720       <table cellpadding="0" cellspacing="0" border="0">
    721         <tr>
    722           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::LogMsgStringV </td>
    723           <td class="md" valign="top">(&nbsp;</td>
    724           <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s1">message_id_type</a>&nbsp;</td>
    725           <td class="mdname" nowrap>&nbsp; <em>msgID</em>, </td>
    726         </tr>
    727         <tr>
    728           <td></td>
    729           <td></td>
    730           <td class="md" nowrap>const char *&nbsp;</td>
    731           <td class="mdname" nowrap>&nbsp; <em>fmt</em>, </td>
    732         </tr>
    733         <tr>
    734           <td></td>
    735           <td></td>
    736           <td class="md" nowrap>va_list&nbsp;</td>
    737           <td class="mdname" nowrap>&nbsp; <em>arguments</em></td>
    738         </tr>
    739         <tr>
    740           <td></td>
    741           <td class="md">)&nbsp;</td>
    742           <td class="md" colspan="2"></td>
    743         </tr>
    744 
    745       </table>
    746     </td>
    747   </tr>
    748 </table>
    749 <table cellspacing=5 cellpadding=0 border=0>
    750   <tr>
    751     <td>
    752       &nbsp;
    753     </td>
    754     <td>
    755 
    756 <p>
    757 This method logs formatted text msg to all the appenders, after running thrrough the message filters. After logging the message to the appenders attached to the current control point, the message is passed up to the parent node, only if appender inheritance is enabled.<dl compact><dt><b>Parameters: </b></dt><dd>
    758 <table border=0 cellspacing=2 cellpadding=0>
    759 <tr><td valign=top><em>msgID</em>&nbsp;</td><td>
    760 Message ID, that is unique to a message </td></tr>
    761 <tr><td valign=top><em>fmt</em>&nbsp;</td><td>
    762 format string, similar to one taken by printf </td></tr>
    763 <tr><td valign=top><em>arguments</em>&nbsp;</td><td>
    764 Variable list of arguments</td></tr>
    765 </table>
    766 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    767 NONE </dl>    </td>
    768   </tr>
    769 </table>
    770 <a name="a5" doxytag="PVLogger::RemoveAppender"></a><p>
    771 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    772   <tr>
    773     <td class="md">
    774       <table cellpadding="0" cellspacing="0" border="0">
    775         <tr>
    776           <td class="md" nowrap valign="top"> void PVLogger::RemoveAppender </td>
    777           <td class="md" valign="top">(&nbsp;</td>
    778           <td class="md" nowrap valign="top"><a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a>&lt; <a class="el" href="classPVLoggerAppender.html">PVLoggerAppender</a> &gt; &amp;&nbsp;</td>
    779           <td class="mdname1" valign="top" nowrap>&nbsp; <em>appender</em>          </td>
    780           <td class="md" valign="top">)&nbsp;</td>
    781           <td class="md" nowrap><code> [inline]</code></td>
    782         </tr>
    783 
    784       </table>
    785     </td>
    786   </tr>
    787 </table>
    788 <table cellspacing=5 cellpadding=0 border=0>
    789   <tr>
    790     <td>
    791       &nbsp;
    792     </td>
    793     <td>
    794 
    795 <p>
    796 This method removes an appender from the logging control point. Each logger maintains a list of appenders. Any msg to a logger if deemed active is logged to all the appenders.<dl compact><dt><b>Parameters: </b></dt><dd>
    797 <table border=0 cellspacing=2 cellpadding=0>
    798 <tr><td valign=top><em>appender</em>&nbsp;</td><td>
    799 pointer to the appender to delete</td></tr>
    800 </table>
    801 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    802 NONE </dl>    </td>
    803   </tr>
    804 </table>
    805 <a name="a0" doxytag="PVLogger::SetLogLevel"></a><p>
    806 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    807   <tr>
    808     <td class="md">
    809       <table cellpadding="0" cellspacing="0" border="0">
    810         <tr>
    811           <td class="md" nowrap valign="top"> void PVLogger::SetLogLevel </td>
    812           <td class="md" valign="top">(&nbsp;</td>
    813           <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s0">log_level_type</a>&nbsp;</td>
    814           <td class="mdname1" valign="top" nowrap>&nbsp; <em>level</em>          </td>
    815           <td class="md" valign="top">)&nbsp;</td>
    816           <td class="md" nowrap><code> [inline]</code></td>
    817         </tr>
    818 
    819       </table>
    820     </td>
    821   </tr>
    822 </table>
    823 <table cellspacing=5 cellpadding=0 border=0>
    824   <tr>
    825     <td>
    826       &nbsp;
    827     </td>
    828     <td>
    829 
    830 <p>
    831 This method is used to set the log level of a control point.<dl compact><dt><b>Parameters: </b></dt><dd>
    832 <table border=0 cellspacing=2 cellpadding=0>
    833 <tr><td valign=top><em>level</em>&nbsp;</td><td>
    834 log level associated with the logging control point</td></tr>
    835 </table>
    836 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    837 NONE </dl>    </td>
    838   </tr>
    839 </table>
    840 <a name="a1" doxytag="PVLogger::SetLogLevelAndPropagate"></a><p>
    841 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    842   <tr>
    843     <td class="md">
    844       <table cellpadding="0" cellspacing="0" border="0">
    845         <tr>
    846           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::SetLogLevelAndPropagate </td>
    847           <td class="md" valign="top">(&nbsp;</td>
    848           <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s0">log_level_type</a>&nbsp;</td>
    849           <td class="mdname1" valign="top" nowrap>&nbsp; <em>level</em>          </td>
    850           <td class="md" valign="top">)&nbsp;</td>
    851           <td class="md" nowrap></td>
    852         </tr>
    853 
    854       </table>
    855     </td>
    856   </tr>
    857 </table>
    858 <table cellspacing=5 cellpadding=0 border=0>
    859   <tr>
    860     <td>
    861       &nbsp;
    862     </td>
    863     <td>
    864 
    865 <p>
    866 This method is used to set the log level of a control point, as well as to propagate the level to all the descendants of this control point.<dl compact><dt><b>Parameters: </b></dt><dd>
    867 <table border=0 cellspacing=2 cellpadding=0>
    868 <tr><td valign=top><em>level</em>&nbsp;</td><td>
    869 log level associated with the logging control point</td></tr>
    870 </table>
    871 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    872 NONE </dl>    </td>
    873   </tr>
    874 </table>
    875 <a name="b0" doxytag="PVLogger::SetParent"></a><p>
    876 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    877   <tr>
    878     <td class="md">
    879       <table cellpadding="0" cellspacing="0" border="0">
    880         <tr>
    881           <td class="md" nowrap valign="top"> void PVLogger::SetParent </td>
    882           <td class="md" valign="top">(&nbsp;</td>
    883           <td class="md" nowrap valign="top">PVLogger *&nbsp;</td>
    884           <td class="mdname1" valign="top" nowrap>&nbsp; <em>parentLogger</em>          </td>
    885           <td class="md" valign="top">)&nbsp;</td>
    886           <td class="md" nowrap><code> [inline, protected]</code></td>
    887         </tr>
    888 
    889       </table>
    890     </td>
    891   </tr>
    892 </table>
    893 <table cellspacing=5 cellpadding=0 border=0>
    894   <tr>
    895     <td>
    896       &nbsp;
    897     </td>
    898     <td>
    899 
    900 <p>
    901     </td>
    902   </tr>
    903 </table>
    904 <hr><h2>Friends And Related Function Documentation</h2>
    905 <a name="l0" doxytag="PVLogger::PVLoggerRegistry"></a><p>
    906 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    907   <tr>
    908     <td class="md">
    909       <table cellpadding="0" cellspacing="0" border="0">
    910         <tr>
    911           <td class="md" nowrap valign="top"> friend class PVLoggerRegistry<code> [friend]</code>
    912       </table>
    913     </td>
    914   </tr>
    915 </table>
    916 <table cellspacing=5 cellpadding=0 border=0>
    917   <tr>
    918     <td>
    919       &nbsp;
    920     </td>
    921     <td>
    922 
    923 <p>
    924     </td>
    925   </tr>
    926 </table>
    927 <hr>The documentation for this class was generated from the following file:<ul>
    928 <li><a class="el" href="pvlogger_8h-source.html">pvlogger.h</a></ul>
    929 <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
    930 <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
    931 </small></address>
    932 </body>
    933 </html>
    934