<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Crystal Space 1.2.1: iDebugHelper Struct Reference (Crystal Space 1.2.1 Public API Reference)</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="head"> <tr height="59"> <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td> <td class="head"><h2>Public API Reference</h2></td> </tr> <tr height="11"> <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td> </tr> </table> <div class="content"> <!-- Generated by Doxygen 1.5.3 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <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> <h1>iDebugHelper Struct Reference<br> <small> [<a class="el" href="group__util.html">Utilities</a>]</small> </h1><!-- doxytag: class="iDebugHelper" --><!-- doxytag: inherits="iBase" -->Some object that wants to implement unit testing, debugging and/or benchmarking can implement this interface. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="dbghelp_8h-source.html">iutil/dbghelp.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for iDebugHelper:</div> <div class="dynsection"> <p><center><img src="structiDebugHelper__inherit__graph.png" border="0" usemap="#iDebugHelper__inherit__map" alt="Inheritance graph"></center> <map name="iDebugHelper__inherit__map"> <area shape="rect" href="classscfImplementation1.html" title="scfImplementation1\< csGeomDebugHelper, iDebugHelper \>" alt="" coords="556,16,969,43"><area shape="rect" href="classscfImplementation1.html" title="scfImplementation1\< csKDTree, iDebugHelper \>" alt="" coords="595,67,931,93"><area shape="rect" href="classscfImplementation1.html" title="scfImplementation1\< csTiledCoverageBuffer, iDebugHelper \>" alt="" coords="552,117,973,144"><area shape="rect" href="classscfImplementation7.html" title="scfImplementation7\< csGraphics2D, iGraphics2D, iComponent, iNativeWindow, iNativeWindowManager, iPluginConfig, iDebugHelper, iEventHandler \>" alt="" coords="267,168,1259,195"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="5,92,61,119"><area shape="rect" href="classcsGeomDebugHelper.html" title="This is a class that does unit testing (and other debug stuff) for most of csgeom..." alt="" coords="1311,16,1471,43"><area shape="rect" href="classcsKDTree.html" title="A KD-tree." alt="" coords="1351,67,1431,93"><area shape="rect" href="classcsTiledCoverageBuffer.html" title="The tiled coverage Buffer." alt="" coords="1307,117,1475,144"><area shape="rect" href="classcsGraphics2D.html" title="This is the base class for 2D canvases." alt="" coords="1336,168,1445,195"><area shape="rect" href="classscfImplementationExt2.html" title="scfImplementationExt2\< csGraphics2DGLCommon, csGraphics2D, iEventPlug, iOpenGLDriverDatabase \>" alt="" coords="1524,168,2233,195"><area shape="rect" href="classcsGraphics2DGLCommon.html" title="Basic OpenGL version of the 2D driver class." alt="" coords="2283,168,2472,195"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="structiDebugHelper-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 Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structiDebugHelper.html#25c2acc4eb241ee157d4ee44a18ec076">Benchmark</a> (int num_iterations)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Perform a benchmark. <a href="#25c2acc4eb241ee157d4ee44a18ec076"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structiDebugHelper.html#ef3ec51d8b43aec5a72607f8d1cd05f5">DebugCommand</a> (const char *cmd)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Perform a debug command as defined by the module itself. <a href="#ef3ec51d8b43aec5a72607f8d1cd05f5"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiDebugHelper.html#092959d6706ec98e4758f1cfd4efc413">Dump</a> (<a class="el" href="structiGraphics3D.html">iGraphics3D</a> *g3d)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Do a graphical dump of the current state of this object. <a href="#092959d6706ec98e4758f1cfd4efc413"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a>< <a class="el" href="structiString.html">iString</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="structiDebugHelper.html#8f8586bce8979a6af565408a803090a9">Dump</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Do a text dump of the current state of this object. <a href="#8f8586bce8979a6af565408a803090a9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="structiDebugHelper.html#b1be8b6d44cbc36aa342283a879090a2">GetSupportedTests</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return a bit field indicating what types of functions this specific unit test implementation supports. <a href="#b1be8b6d44cbc36aa342283a879090a2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a>< <a class="el" href="structiString.html">iString</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="structiDebugHelper.html#39f26006470eca6787836a607142c7d5">StateTest</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Perform a state test. <a href="#39f26006470eca6787836a607142c7d5"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a>< <a class="el" href="structiString.html">iString</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="structiDebugHelper.html#aac65ad9e321a6edba9843f8bfd51702">UnitTest</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Perform a unit test. <a href="#aac65ad9e321a6edba9843f8bfd51702"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Some object that wants to implement unit testing, debugging and/or benchmarking can implement this interface. <p>Definition at line <a class="el" href="dbghelp_8h-source.html#l00061">61</a> of file <a class="el" href="dbghelp_8h-source.html">dbghelp.h</a>.</p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="25c2acc4eb241ee157d4ee44a18ec076"></a><!-- doxytag: member="iDebugHelper::Benchmark" ref="25c2acc4eb241ee157d4ee44a18ec076" args="(int num_iterations)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a> iDebugHelper::Benchmark </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>num_iterations</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Perform a benchmark. <p> This function will return a number indicating how long the benchmark lasted in milliseconds. <p>Implemented in <a class="el" href="classcsKDTree.html#3e9b0ec3f292e61ad2eeb25a7d5c6054">csKDTree</a>, <a class="el" href="classcsGeomDebugHelper.html#acad9aa80f37ae736179d8ed3497724b">csGeomDebugHelper</a>, <a class="el" href="classcsTiledCoverageBuffer.html#1a0ba4431d06a2884bce3f868171701c">csTiledCoverageBuffer</a>, and <a class="el" href="classcsGraphics2D.html#2893114cbae18229b548bfd9f943ac39">csGraphics2D</a>.</p> </div> </div><p> <a class="anchor" name="ef3ec51d8b43aec5a72607f8d1cd05f5"></a><!-- doxytag: member="iDebugHelper::DebugCommand" ref="ef3ec51d8b43aec5a72607f8d1cd05f5" args="(const char *cmd)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool iDebugHelper::DebugCommand </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>cmd</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Perform a debug command as defined by the module itself. <p> Returns 'false' if the command was not recognized. <p>Implemented in <a class="el" href="classcsKDTree.html#aebffde40199efca8acd9d785e75cd0f">csKDTree</a>, <a class="el" href="classcsGeomDebugHelper.html#8f4e36efccc2a832e0d30f56b6adca7e">csGeomDebugHelper</a>, <a class="el" href="classcsTiledCoverageBuffer.html#4db2a44db8f35e2c2dd0f5b540db0f2d">csTiledCoverageBuffer</a>, <a class="el" href="classcsGraphics2D.html#650d609cd42b6ffa4d0202f967afb5f9">csGraphics2D</a>, and <a class="el" href="classcsGraphics2DGLCommon.html#be56c01a973444f6933ea376c8a18b20">csGraphics2DGLCommon</a>.</p> </div> </div><p> <a class="anchor" name="092959d6706ec98e4758f1cfd4efc413"></a><!-- doxytag: member="iDebugHelper::Dump" ref="092959d6706ec98e4758f1cfd4efc413" args="(iGraphics3D *g3d)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iDebugHelper::Dump </td> <td>(</td> <td class="paramtype"><a class="el" href="structiGraphics3D.html">iGraphics3D</a> * </td> <td class="paramname"> <em>g3d</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Do a graphical dump of the current state of this object. <p> <p>Implemented in <a class="el" href="classcsKDTree.html#713cb0e510c875003221d3a780f4c237">csKDTree</a>, <a class="el" href="classcsGeomDebugHelper.html#4a2b0c27c0c3007e179a48995111a7be">csGeomDebugHelper</a>, <a class="el" href="classcsTiledCoverageBuffer.html#ff892b34c5fecd465866e5af5366e720">csTiledCoverageBuffer</a>, and <a class="el" href="classcsGraphics2D.html#2585a44e51aa67229d913b07fd08680c">csGraphics2D</a>.</p> </div> </div><p> <a class="anchor" name="8f8586bce8979a6af565408a803090a9"></a><!-- doxytag: member="iDebugHelper::Dump" ref="8f8586bce8979a6af565408a803090a9" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a><<a class="el" href="structiString.html">iString</a>> iDebugHelper::Dump </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Do a text dump of the current state of this object. <p> Returns 0 if not supported or else a string which you should <a class="el" href="structiBase.html#3a44d46ca155e6ab0c0179db01011bb0" title="Decrement the reference count.">DecRef()</a> after use. <p>Implemented in <a class="el" href="classcsKDTree.html#2891fcb30d19fd8cf56c4707b5569677">csKDTree</a>, <a class="el" href="classcsGeomDebugHelper.html#845d93026c9b21c326bdaa42553b76e1">csGeomDebugHelper</a>, <a class="el" href="classcsTiledCoverageBuffer.html#9e1346aba35ee17b3b5357ddfdf83f66">csTiledCoverageBuffer</a>, and <a class="el" href="classcsGraphics2D.html#d18cfdebff3b4f229a6e622d244bd8c5">csGraphics2D</a>.</p> </div> </div><p> <a class="anchor" name="b1be8b6d44cbc36aa342283a879090a2"></a><!-- doxytag: member="iDebugHelper::GetSupportedTests" ref="b1be8b6d44cbc36aa342283a879090a2" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int iDebugHelper::GetSupportedTests </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return a bit field indicating what types of functions this specific unit test implementation supports. <p> This will return a combination of the CS_DBGHELP_... flags:<ul> <li><a class="el" href="group__util.html#gca559d327ade26b0b01a4b81971425da" title="supports UnitTest().">CS_DBGHELP_UNITTEST</a></li><li><a class="el" href="group__util.html#gb947e222fa11aa06a0939357a6afa288" title="supports Benchmark().">CS_DBGHELP_BENCHMARK</a></li><li><a class="el" href="group__util.html#g8d1ef1bb1e14f29cfeea992cbcdbc476" title="supports non graphical Dump().">CS_DBGHELP_TXTDUMP</a></li><li><a class="el" href="group__util.html#ga37681913a5cf1a42c4d0fcda4854907" title="supports graphical Dump().">CS_DBGHELP_GFXDUMP</a></li><li><a class="el" href="group__util.html#g1b51643f1313d00e27898aa64c57b9d1" title="supports StateTest().">CS_DBGHELP_STATETEST</a> </li></ul> <p>Implemented in <a class="el" href="classcsKDTree.html#b2a1459a108d03e095ae26bf727c312a">csKDTree</a>, <a class="el" href="classcsGeomDebugHelper.html#9dde7df87f36bc24aac6a182a93b166a">csGeomDebugHelper</a>, <a class="el" href="classcsTiledCoverageBuffer.html#a7d1f565e23e9816447ac9962fcb9139">csTiledCoverageBuffer</a>, and <a class="el" href="classcsGraphics2D.html#33d4cb05db52df7f839314e0ba3eb34d">csGraphics2D</a>.</p> </div> </div><p> <a class="anchor" name="39f26006470eca6787836a607142c7d5"></a><!-- doxytag: member="iDebugHelper::StateTest" ref="39f26006470eca6787836a607142c7d5" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a><<a class="el" href="structiString.html">iString</a>> iDebugHelper::StateTest </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Perform a state test. <p> This function will test if the current state of the object is ok. It will return 0 if it is ok. Otherwise an <a class="el" href="structiString.html" title="This is a SCF-compatible interface for csString.">iString</a> is returned containing some information about the errors. <a class="el" href="structiBase.html#3a44d46ca155e6ab0c0179db01011bb0" title="Decrement the reference count.">DecRef()</a> this returned string after using it. <p>Implemented in <a class="el" href="classcsKDTree.html#5e63f841e839490bc862980a3c8bc35c">csKDTree</a>, <a class="el" href="classcsGeomDebugHelper.html#b0185b1cf8381603272994299bafa714">csGeomDebugHelper</a>, <a class="el" href="classcsTiledCoverageBuffer.html#af6cc73b5cb2f67340437c7e233f1738">csTiledCoverageBuffer</a>, and <a class="el" href="classcsGraphics2D.html#ac3ae113d7cd73d18dcfc5129c69e7c8">csGraphics2D</a>.</p> </div> </div><p> <a class="anchor" name="aac65ad9e321a6edba9843f8bfd51702"></a><!-- doxytag: member="iDebugHelper::UnitTest" ref="aac65ad9e321a6edba9843f8bfd51702" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a><<a class="el" href="structiString.html">iString</a>> iDebugHelper::UnitTest </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Perform a unit test. <p> This function will try to test as much as possible of the given module. This function returns 0 if the test succeeded. Otherwise an <a class="el" href="structiString.html" title="This is a SCF-compatible interface for csString.">iString</a> is returned containing some information about the errors. <a class="el" href="structiBase.html#3a44d46ca155e6ab0c0179db01011bb0" title="Decrement the reference count.">DecRef()</a> this returned string after using it. <p>Implemented in <a class="el" href="classcsKDTree.html#230769cf2955c09a16f5c06a9551265a">csKDTree</a>, <a class="el" href="classcsGeomDebugHelper.html#1359b441a59d28c6b3eda7a1b268c1d7">csGeomDebugHelper</a>, <a class="el" href="classcsTiledCoverageBuffer.html#081562eaf6351770cc00779e6cf59ff1">csTiledCoverageBuffer</a>, and <a class="el" href="classcsGraphics2D.html#208fd0a334afeead0b0d0eacc82cf3e7">csGraphics2D</a>.</p> </div> </div><p> <hr>The documentation for this struct was generated from the following file:<ul> <li>iutil/<a class="el" href="dbghelp_8h-source.html">dbghelp.h</a></ul> <hr size="1"><address><small>Generated for Crystal Space 1.2.1 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 </small></address> </div></body> </html>