• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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> &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>PVLoggerRegistry Class Reference</h1><code>#include &lt;<a class="el" href="pvlogger__registry_8h-source.html">pvlogger_registry.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 PVLogger::log_level_type&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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> *&nbsp;</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> *&nbsp;</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&nbsp;</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&nbsp;</td><td valign=bottom><a class="el" href="classPVLoggerRegistry.html#a5">SetNodeLogLevelExplicit</a> (<a class="el" href="classOscl__TagTree.html">Oscl_TagTree</a>&lt; <a class="el" href="classPVLogger.html">PVLogger</a> *, <a class="el" href="classPVLoggerRegistry.html#s1">alloc_type</a> &gt;::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 *&nbsp;</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      &nbsp;
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      &nbsp;
71    </td>
72    <td>
73
74<p>
75    </td>
76  </tr>
77</table>
78<hr><h2>Constructor &amp; 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">(&nbsp;</td>
87          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
88          <td class="md" valign="top">)&nbsp;</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      &nbsp;
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">(&nbsp;</td>
115          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
116          <td class="md" valign="top">)&nbsp;</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      &nbsp;
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">(&nbsp;</td>
144          <td class="md" nowrap valign="top">const char *&nbsp;</td>
145          <td class="mdname" nowrap>&nbsp; <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>&nbsp;</td>
151          <td class="mdname" nowrap>&nbsp; <em>level</em>, </td>
152        </tr>
153        <tr>
154          <td></td>
155          <td></td>
156          <td class="md" nowrap>bool&nbsp;</td>
157          <td class="mdname" nowrap>&nbsp; <em>oAppenderInheritance</em></td>
158        </tr>
159        <tr>
160          <td></td>
161          <td class="md">)&nbsp;</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      &nbsp;
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>&nbsp;</td><td>
180logger tag, viz. "x.y.z" </td></tr>
181<tr><td valign=top><em>level</em>&nbsp;</td><td>
182log level associated with the logging control point</td></tr>
183<tr><td valign=top><em>oAppenderInheritance</em>&nbsp;</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>&lt;alloc_type, TheLock&gt;* 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">(&nbsp;</td>
198          <td class="md" nowrap valign="top">const char *&nbsp;</td>
199          <td class="mdname1" valign="top" nowrap>&nbsp; <em>tagIn</em>          </td>
200          <td class="md" valign="top">)&nbsp;</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      &nbsp;
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>&nbsp;</td><td>
219logger tag, viz. "x.y.z" </td></tr>
220<tr><td valign=top><em>level</em>&nbsp;</td><td>
221log level associated with the logging control point</td></tr>
222<tr><td valign=top><em>oAppenderInheritance</em>&nbsp;</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>&lt;Alloc, TheLock&gt;* 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">(&nbsp;</td>
237          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
238          <td class="md" valign="top">)&nbsp;</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      &nbsp;
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">(&nbsp;</td>
265          <td class="md" nowrap valign="top"><a class="el" href="classOscl__TagTree.html">Oscl_TagTree</a>&lt; <a class="el" href="classPVLogger.html">PVLogger</a> *, <a class="el" href="classPVLoggerRegistry.html#s1">alloc_type</a> &gt;::node_type *&nbsp;</td>
266          <td class="mdname" nowrap>&nbsp; <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>&nbsp;</td>
272          <td class="mdname" nowrap>&nbsp; <em>level</em></td>
273        </tr>
274        <tr>
275          <td></td>
276          <td class="md">)&nbsp;</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      &nbsp;
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>&nbsp;</td><td>
295Node ptr, associated with a logger, from the tag tree. </td></tr>
296<tr><td valign=top><em>level</em>&nbsp;</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">(&nbsp;</td>
311          <td class="md" nowrap valign="top">char *&nbsp;</td>
312          <td class="mdname" nowrap>&nbsp; <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>&nbsp;</td>
318          <td class="mdname" nowrap>&nbsp; <em>level</em></td>
319        </tr>
320        <tr>
321          <td></td>
322          <td class="md">)&nbsp;</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      &nbsp;
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>&nbsp;</td><td>
341logger tag, viz. "x.y.z" </td></tr>
342<tr><td valign=top><em>level</em>&nbsp;</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