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> 27 Class: PVLoggerRegistry 28 <p> 29 PVLoggerRegistry 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> 31 Memory 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> 104 PVLoggerRegistry 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> 132 PVLoggerRegistry 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> 177 This 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> 180 logger tag, viz. "x.y.z" </td></tr> 181 <tr><td valign=top><em>level</em> </td><td> 182 log 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> 216 PVLoggerRegistry 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> 219 logger tag, viz. "x.y.z" </td></tr> 220 <tr><td valign=top><em>level</em> </td><td> 221 log 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> 254 Get 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> 292 This 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> 295 Node ptr, associated with a logger, from the tag tree. </td></tr> 296 <tr><td valign=top><em>level</em> </td><td> 297 log level associated with the logging control point</td></tr> 298 </table> 299 </dl><dl compact><dt><b>Returns: </b></dt><dd> 300 NONE </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> 338 This 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> 341 logger tag, viz. "x.y.z" </td></tr> 342 <tr><td valign=top><em>level</em> </td><td> 343 log level associated with the logging control point</td></tr> 344 </table> 345 </dl><dl compact><dt><b>Returns: </b></dt><dd> 346 true 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