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>PVLoggerRegistry 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> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center> 9<hr><h1>PVLoggerRegistry Class Reference</h1><code>#include <<a class="el" href="pvlogger__registry_8h-source.html">pvlogger_registry.h</a>></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 PVLogger::log_level_type </td><td valign=bottom><a class="el" href="classPVLoggerRegistry.html#s0">log_level_type</a></td></tr> 15<tr><td nowrap align=right valign=top>typedef PVLogger::alloc_type </td><td valign=bottom><a class="el" href="classPVLoggerRegistry.html#s1">alloc_type</a></td></tr> 16<tr><td colspan=2><br><h2>Public Methods</h2></td></tr> 17<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF </td><td valign=bottom><a class="el" href="classPVLoggerRegistry.html#a0">PVLoggerRegistry</a> ()</td></tr> 18<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF </td><td valign=bottom><a class="el" href="classPVLoggerRegistry.html#a1">~PVLoggerRegistry</a> ()</td></tr> 19<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classPVLogger.html">PVLogger</a> * </td><td valign=bottom><a class="el" href="classPVLoggerRegistry.html#a2">GetPVLoggerObject</a> (const char *tagIn)</td></tr> 20<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classPVLogger.html">PVLogger</a> * </td><td valign=bottom><a class="el" href="classPVLoggerRegistry.html#a3">CreatePVLogger</a> (const char *tagIn, <a class="el" href="classPVLoggerRegistry.html#s0">log_level_type</a> level, bool oAppenderInheritance)</td></tr> 21<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool </td><td valign=bottom><a class="el" href="classPVLoggerRegistry.html#a4">SetNodeLogLevelExplicit</a> (char *tagIn, <a class="el" href="classPVLoggerRegistry.html#s0">log_level_type</a> level)</td></tr> 22<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classPVLoggerRegistry.html#a5">SetNodeLogLevelExplicit</a> (<a class="el" href="classOscl__TagTree.html">Oscl_TagTree</a>< <a class="el" href="classPVLogger.html">PVLogger</a> *, <a class="el" href="classPVLoggerRegistry.html#s1">alloc_type</a> >::node_type *node, <a class="el" href="classPVLoggerRegistry.html#s0">log_level_type</a> level)</td></tr> 23<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr> 24<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF PVLoggerRegistry * </td><td valign=bottom><a class="el" href="classPVLoggerRegistry.html#d0">GetPVLoggerRegistry</a> ()</td></tr> 25</table> 26<hr><a name="_details"></a><h2>Detailed Description</h2> 27Class: PVLoggerRegistry 28<p> 29PVLoggerRegistry class, maintains a repository of all the loggers, along with their associated tags, in a tag tree. Any request for a log control point is serviced by this class. 30<p> 31Memory Ownership: Creates log control points for each tag, and holds these pointers in the tag tree. <a class="el" href="classPVLogger.html">PVLogger</a> registry is responsible for calling the destructor on each of these loggers. 32<p> 33<hr><h2>Member Typedef Documentation</h2> 34<a name="s1" doxytag="PVLoggerRegistry::alloc_type"></a><p> 35<table width="100%" cellpadding="2" cellspacing="0" border="0"> 36 <tr> 37 <td class="md"> 38 <table cellpadding="0" cellspacing="0" border="0"> 39 <tr> 40 <td class="md" nowrap valign="top"> typedef PVLogger::alloc_type PVLoggerRegistry::alloc_type 41 </table> 42 </td> 43 </tr> 44</table> 45<table cellspacing=5 cellpadding=0 border=0> 46 <tr> 47 <td> 48 49 </td> 50 <td> 51 52<p> 53 </td> 54 </tr> 55</table> 56<a name="s0" doxytag="PVLoggerRegistry::log_level_type"></a><p> 57<table width="100%" cellpadding="2" cellspacing="0" border="0"> 58 <tr> 59 <td class="md"> 60 <table cellpadding="0" cellspacing="0" border="0"> 61 <tr> 62 <td class="md" nowrap valign="top"> typedef PVLogger::log_level_type PVLoggerRegistry::log_level_type 63 </table> 64 </td> 65 </tr> 66</table> 67<table cellspacing=5 cellpadding=0 border=0> 68 <tr> 69 <td> 70 71 </td> 72 <td> 73 74<p> 75 </td> 76 </tr> 77</table> 78<hr><h2>Constructor & Destructor Documentation</h2> 79<a name="a0" doxytag="PVLoggerRegistry::PVLoggerRegistry"></a><p> 80<table width="100%" cellpadding="2" cellspacing="0" border="0"> 81 <tr> 82 <td class="md"> 83 <table cellpadding="0" cellspacing="0" border="0"> 84 <tr> 85 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF PVLoggerRegistry::PVLoggerRegistry </td> 86 <td class="md" valign="top">( </td> 87 <td class="mdname1" valign="top" nowrap> </td> 88 <td class="md" valign="top">) </td> 89 <td class="md" nowrap></td> 90 </tr> 91 92 </table> 93 </td> 94 </tr> 95</table> 96<table cellspacing=5 cellpadding=0 border=0> 97 <tr> 98 <td> 99 100 </td> 101 <td> 102 103<p> 104PVLoggerRegistry Constructor </td> 105 </tr> 106</table> 107<a name="a1" doxytag="PVLoggerRegistry::~PVLoggerRegistry"></a><p> 108<table width="100%" cellpadding="2" cellspacing="0" border="0"> 109 <tr> 110 <td class="md"> 111 <table cellpadding="0" cellspacing="0" border="0"> 112 <tr> 113 <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF PVLoggerRegistry::~PVLoggerRegistry </td> 114 <td class="md" valign="top">( </td> 115 <td class="mdname1" valign="top" nowrap> </td> 116 <td class="md" valign="top">) </td> 117 <td class="md" nowrap><code> [virtual]</code></td> 118 </tr> 119 120 </table> 121 </td> 122 </tr> 123</table> 124<table cellspacing=5 cellpadding=0 border=0> 125 <tr> 126 <td> 127 128 </td> 129 <td> 130 131<p> 132PVLoggerRegistry Destructor </td> 133 </tr> 134</table> 135<hr><h2>Member Function Documentation</h2> 136<a name="a3" doxytag="PVLoggerRegistry::CreatePVLogger"></a><p> 137<table width="100%" cellpadding="2" cellspacing="0" border="0"> 138 <tr> 139 <td class="md"> 140 <table cellpadding="0" cellspacing="0" border="0"> 141 <tr> 142 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classPVLogger.html">PVLogger</a>* PVLoggerRegistry::CreatePVLogger </td> 143 <td class="md" valign="top">( </td> 144 <td class="md" nowrap valign="top">const char * </td> 145 <td class="mdname" nowrap> <em>tagIn</em>, </td> 146 </tr> 147 <tr> 148 <td></td> 149 <td></td> 150 <td class="md" nowrap><a class="el" href="classPVLoggerRegistry.html#s0">log_level_type</a> </td> 151 <td class="mdname" nowrap> <em>level</em>, </td> 152 </tr> 153 <tr> 154 <td></td> 155 <td></td> 156 <td class="md" nowrap>bool </td> 157 <td class="mdname" nowrap> <em>oAppenderInheritance</em></td> 158 </tr> 159 <tr> 160 <td></td> 161 <td class="md">) </td> 162 <td class="md" colspan="2"></td> 163 </tr> 164 165 </table> 166 </td> 167 </tr> 168</table> 169<table cellspacing=5 cellpadding=0 border=0> 170 <tr> 171 <td> 172 173 </td> 174 <td> 175 176<p> 177This method creates a log control point, with specified tag, and level<dl compact><dt><b>Parameters: </b></dt><dd> 178<table border=0 cellspacing=2 cellpadding=0> 179<tr><td valign=top><em>inputTag</em> </td><td> 180logger tag, viz. "x.y.z" </td></tr> 181<tr><td valign=top><em>level</em> </td><td> 182log level associated with the logging control point</td></tr> 183<tr><td valign=top><em>oAppenderInheritance</em> </td><td> 184</td></tr> 185</table> 186</dl><dl compact><dt><b>Returns: </b></dt><dd> 187<a class="el" href="classPVLogger.html">PVLogger</a><alloc_type, TheLock>* Pointer to the logging control point </dl> </td> 188 </tr> 189</table> 190<a name="a2" doxytag="PVLoggerRegistry::GetPVLoggerObject"></a><p> 191<table width="100%" cellpadding="2" cellspacing="0" border="0"> 192 <tr> 193 <td class="md"> 194 <table cellpadding="0" cellspacing="0" border="0"> 195 <tr> 196 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classPVLogger.html">PVLogger</a>* PVLoggerRegistry::GetPVLoggerObject </td> 197 <td class="md" valign="top">( </td> 198 <td class="md" nowrap valign="top">const char * </td> 199 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 200 <td class="md" valign="top">) </td> 201 <td class="md" nowrap></td> 202 </tr> 203 204 </table> 205 </td> 206 </tr> 207</table> 208<table cellspacing=5 cellpadding=0 border=0> 209 <tr> 210 <td> 211 212 </td> 213 <td> 214 215<p> 216PVLoggerRegistry method to get access to a logging control point, associated with a tag. In case the logger for this tag does not exist, it is created afresh, else pointer to the existing one is returned.<dl compact><dt><b>Parameters: </b></dt><dd> 217<table border=0 cellspacing=2 cellpadding=0> 218<tr><td valign=top><em>inputTag</em> </td><td> 219logger tag, viz. "x.y.z" </td></tr> 220<tr><td valign=top><em>level</em> </td><td> 221log level associated with the logging control point</td></tr> 222<tr><td valign=top><em>oAppenderInheritance</em> </td><td> 223</td></tr> 224</table> 225</dl><dl compact><dt><b>Returns: </b></dt><dd> 226<a class="el" href="classPVLogger.html">PVLogger</a><Alloc, TheLock>* Pointer to the logging control point </dl> </td> 227 </tr> 228</table> 229<a name="d0" doxytag="PVLoggerRegistry::GetPVLoggerRegistry"></a><p> 230<table width="100%" cellpadding="2" cellspacing="0" border="0"> 231 <tr> 232 <td class="md"> 233 <table cellpadding="0" cellspacing="0" border="0"> 234 <tr> 235 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF PVLoggerRegistry* PVLoggerRegistry::GetPVLoggerRegistry </td> 236 <td class="md" valign="top">( </td> 237 <td class="mdname1" valign="top" nowrap> </td> 238 <td class="md" valign="top">) </td> 239 <td class="md" nowrap><code> [static]</code></td> 240 </tr> 241 242 </table> 243 </td> 244 </tr> 245</table> 246<table cellspacing=5 cellpadding=0 border=0> 247 <tr> 248 <td> 249 250 </td> 251 <td> 252 253<p> 254Get the logger registry. There is only one logger registry instance per thread. </td> 255 </tr> 256</table> 257<a name="a5" doxytag="PVLoggerRegistry::SetNodeLogLevelExplicit"></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"> OSCL_IMPORT_REF void PVLoggerRegistry::SetNodeLogLevelExplicit </td> 264 <td class="md" valign="top">( </td> 265 <td class="md" nowrap valign="top"><a class="el" href="classOscl__TagTree.html">Oscl_TagTree</a>< <a class="el" href="classPVLogger.html">PVLogger</a> *, <a class="el" href="classPVLoggerRegistry.html#s1">alloc_type</a> >::node_type * </td> 266 <td class="mdname" nowrap> <em>node</em>, </td> 267 </tr> 268 <tr> 269 <td></td> 270 <td></td> 271 <td class="md" nowrap><a class="el" href="classPVLoggerRegistry.html#s0">log_level_type</a> </td> 272 <td class="mdname" nowrap> <em>level</em></td> 273 </tr> 274 <tr> 275 <td></td> 276 <td class="md">) </td> 277 <td class="md" colspan="2"></td> 278 </tr> 279 280 </table> 281 </td> 282 </tr> 283</table> 284<table cellspacing=5 cellpadding=0 border=0> 285 <tr> 286 <td> 287 288 </td> 289 <td> 290 291<p> 292This method recursively propagates the log level to all the descendents, of a node.<dl compact><dt><b>Parameters: </b></dt><dd> 293<table border=0 cellspacing=2 cellpadding=0> 294<tr><td valign=top><em>node</em> </td><td> 295Node ptr, associated with a logger, from the tag tree. </td></tr> 296<tr><td valign=top><em>level</em> </td><td> 297log level associated with the logging control point</td></tr> 298</table> 299</dl><dl compact><dt><b>Returns: </b></dt><dd> 300NONE </dl> </td> 301 </tr> 302</table> 303<a name="a4" doxytag="PVLoggerRegistry::SetNodeLogLevelExplicit"></a><p> 304<table width="100%" cellpadding="2" cellspacing="0" border="0"> 305 <tr> 306 <td class="md"> 307 <table cellpadding="0" cellspacing="0" border="0"> 308 <tr> 309 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool PVLoggerRegistry::SetNodeLogLevelExplicit </td> 310 <td class="md" valign="top">( </td> 311 <td class="md" nowrap valign="top">char * </td> 312 <td class="mdname" nowrap> <em>tagIn</em>, </td> 313 </tr> 314 <tr> 315 <td></td> 316 <td></td> 317 <td class="md" nowrap><a class="el" href="classPVLoggerRegistry.html#s0">log_level_type</a> </td> 318 <td class="mdname" nowrap> <em>level</em></td> 319 </tr> 320 <tr> 321 <td></td> 322 <td class="md">) </td> 323 <td class="md" colspan="2"></td> 324 </tr> 325 326 </table> 327 </td> 328 </tr> 329</table> 330<table cellspacing=5 cellpadding=0 border=0> 331 <tr> 332 <td> 333 334 </td> 335 <td> 336 337<p> 338This method propagates the log level to all the descendents of the node, with a specified tag.<dl compact><dt><b>Parameters: </b></dt><dd> 339<table border=0 cellspacing=2 cellpadding=0> 340<tr><td valign=top><em>tagIn</em> </td><td> 341logger tag, viz. "x.y.z" </td></tr> 342<tr><td valign=top><em>level</em> </td><td> 343log level associated with the logging control point</td></tr> 344</table> 345</dl><dl compact><dt><b>Returns: </b></dt><dd> 346true on success, else false. </dl> </td> 347 </tr> 348</table> 349<hr>The documentation for this class was generated from the following file:<ul> 350<li><a class="el" href="pvlogger__registry_8h-source.html">pvlogger_registry.h</a></ul> 351<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small> 352<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small> 353</small></address> 354</body> 355</html> 356