<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Yate: Debugger 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.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceTelEngine.html">TelEngine</a>::<a class="el" href="classTelEngine_1_1Debugger.html">Debugger</a> </div> </div> <div class="contents"> <h1>Debugger Class Reference</h1><!-- doxytag: class="TelEngine::Debugger" -->An object that logs messages on creation and destruction. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="yateclass_8h-source.html">yateclass.h</a>></code> <p> <p> <a href="classTelEngine_1_1Debugger-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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Debugger.html#01abbfadc55f379e016b8f8a3db4eb66">Formatting</a> { <b>None</b> = 0, <b>Relative</b>, <b>Absolute</b>, <b>Textual</b> }</td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Debugger.html#2a48afcb8191fc8822c848c98240727b">Debugger</a> (const char *name, const char *format=0,...)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Debugger.html#28919d91a9c96b53f5ad51f8cb0855eb">Debugger</a> (int level, const char *name, const char *format=0,...)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Debugger.html#ed369968683e35c986b1bf19b90e58c8">~Debugger</a> ()</td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Debugger.html#a70dec85d54e7951c836a2a5f5563f39">setOutput</a> (void(*outFunc)(const char *, int)=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Debugger.html#132aaad5119fb7729da6d1393881beff">setIntOut</a> (void(*outFunc)(const char *, int)=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Debugger.html#d8b835832cc6ff197d6b1bed5854c13d">enableOutput</a> (bool enable=true, bool colorize=false)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Debugger.html#5681f4927e80f6d18ce3a338df75f70a">setFormatting</a> (<a class="el" href="classTelEngine_1_1Debugger.html#01abbfadc55f379e016b8f8a3db4eb66">Formatting</a> format)</td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> An object that logs messages on creation and destruction. <p> This class is used as an automatic variable that logs messages on creation and destruction (when the instruction block is left or function returns). IMPORTANT: the name is not copied so it should best be static. <hr><h2>Member Enumeration Documentation</h2> <a class="anchor" name="01abbfadc55f379e016b8f8a3db4eb66"></a><!-- doxytag: member="TelEngine::Debugger::Formatting" ref="01abbfadc55f379e016b8f8a3db4eb66" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="classTelEngine_1_1Debugger.html#01abbfadc55f379e016b8f8a3db4eb66">Formatting</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Timestamp formatting </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="2a48afcb8191fc8822c848c98240727b"></a><!-- doxytag: member="TelEngine::Debugger::Debugger" ref="2a48afcb8191fc8822c848c98240727b" args="(const char *name, const char *format=0,...)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1Debugger.html">Debugger</a> </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>format</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"> <em>...</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> The constructor prints the method entry message and indents. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>Name of the function or block entered, must be static </td></tr> <tr><td valign="top"></td><td valign="top"><em>format</em> </td><td>printf() style format string </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="28919d91a9c96b53f5ad51f8cb0855eb"></a><!-- doxytag: member="TelEngine::Debugger::Debugger" ref="28919d91a9c96b53f5ad51f8cb0855eb" args="(int level, const char *name, const char *format=0,...)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1Debugger.html">Debugger</a> </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>level</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>format</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"> <em>...</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> The constructor prints the method entry message and indents. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>level</em> </td><td>The level of the message </td></tr> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>Name of the function or block entered, must be static </td></tr> <tr><td valign="top"></td><td valign="top"><em>format</em> </td><td>printf() style format string </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="ed369968683e35c986b1bf19b90e58c8"></a><!-- doxytag: member="TelEngine::Debugger::~Debugger" ref="ed369968683e35c986b1bf19b90e58c8" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">~<a class="el" href="classTelEngine_1_1Debugger.html">Debugger</a> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> The destructor prints the method leave message and deindents. </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="d8b835832cc6ff197d6b1bed5854c13d"></a><!-- doxytag: member="TelEngine::Debugger::enableOutput" ref="d8b835832cc6ff197d6b1bed5854c13d" args="(bool enable=true, bool colorize=false)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void enableOutput </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>enable</em> = <code>true</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>colorize</em> = <code>false</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Enable or disable the debug output <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>enable</em> </td><td>Set to true to globally enable output </td></tr> <tr><td valign="top"></td><td valign="top"><em>colorize</em> </td><td>Enable ANSI colorization of output </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="5681f4927e80f6d18ce3a338df75f70a"></a><!-- doxytag: member="TelEngine::Debugger::setFormatting" ref="5681f4927e80f6d18ce3a338df75f70a" args="(Formatting format)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void setFormatting </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1Debugger.html#01abbfadc55f379e016b8f8a3db4eb66">Formatting</a> </td> <td class="paramname"> <em>format</em> </td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set the format of timestamps on output messages and set the time start reference <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>format</em> </td><td>Desired timestamp formatting </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="132aaad5119fb7729da6d1393881beff"></a><!-- doxytag: member="TelEngine::Debugger::setIntOut" ref="132aaad5119fb7729da6d1393881beff" args="(void(*outFunc)(const char *, int)=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void setIntOut </td> <td>(</td> <td class="paramtype">void(*)(const char *, int) </td> <td class="paramname"> <em>outFunc</em> = <code>0</code> </td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set the interactive output callback <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>outFunc</em> </td><td>Pointer to the output function, NULL to disable </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="a70dec85d54e7951c836a2a5f5563f39"></a><!-- doxytag: member="TelEngine::Debugger::setOutput" ref="a70dec85d54e7951c836a2a5f5563f39" args="(void(*outFunc)(const char *, int)=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void setOutput </td> <td>(</td> <td class="paramtype">void(*)(const char *, int) </td> <td class="paramname"> <em>outFunc</em> = <code>0</code> </td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set the output callback <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>outFunc</em> </td><td>Pointer to the output function, NULL to use stderr </td></tr> </table> </dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="yateclass_8h-source.html">yateclass.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Sun Dec 7 21:36:11 2008 for Yate by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body> </html>