<!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: iEventHandlerRegistry 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>iEventHandlerRegistry Struct Reference<br> <small> [<a class="el" href="group__event__handling.html">Event handling</a>]</small> </h1><!-- doxytag: class="iEventHandlerRegistry" --><!-- doxytag: inherits="iBase" -->This interface represents a general event handler registry/resolver. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="iutil_2eventhandlers_8h-source.html">iutil/eventhandlers.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for iEventHandlerRegistry:</div> <div class="dynsection"> <p><center><img src="structiEventHandlerRegistry__inherit__graph.png" border="0" usemap="#iEventHandlerRegistry__inherit__map" alt="Inheritance graph"></center> <map name="iEventHandlerRegistry__inherit__map"> <area shape="rect" href="classscfImplementation1.html" title="scfImplementation1\< csEventHandlerRegistry, iEventHandlerRegistry \>" alt="" coords="5,161,493,188"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="221,7,277,33"><area shape="rect" href="classcsEventHandlerRegistry.html" title="The csEventHandlerRegistry maintains a global one-to-one mapping from strings to..." alt="" coords="161,239,337,265"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="structiEventHandlerRegistry-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__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> const </td><td class="memItemRight" valign="bottom"><a class="el" href="structiEventHandlerRegistry.html#434acdbf4ec1c643d0a4dc7327fbe45e">GetGeneric</a> (<a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> id)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the csHandleID for the generic name for instance name id. <a href="#434acdbf4ec1c643d0a4dc7327fbe45e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structiEventHandlerRegistry.html#a21b5745e5ac66739232d8968cfaeec1">GetGenericID</a> (const char *)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get a csHandlerID based upon some string. <a href="#a21b5745e5ac66739232d8968cfaeec1"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiEventHandler.html">iEventHandler</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structiEventHandlerRegistry.html#362d1aea18b8b62acdad5f03fc8775cb">GetHandler</a> (<a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> id)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the handler registered for a csHandlerID (will be NULL if csHandlerID is a generic name, i.e., if (!csEventHandlerRegistry->IsInstance(id)). <a href="#362d1aea18b8b62acdad5f03fc8775cb"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structiEventHandlerRegistry.html#dcc43f92420a5cc0e0873f2edc917e08">GetID</a> (const char *)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the csHandlerID for an arbitrary handler name. <a href="#dcc43f92420a5cc0e0873f2edc917e08"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structiEventHandlerRegistry.html#513859c14a149c88f755b24c1aa297cd">GetID</a> (<a class="el" href="structiEventHandler.html">iEventHandler</a> *)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the csHandlerID for a specified event handler, which provides its own name via the iEventHandler::GetInstanceName() method. <a href="#513859c14a149c88f755b24c1aa297cd"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structiEventHandlerRegistry.html#c47077eab375df1c6876d652671f41fa">GetString</a> (<a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> id)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the string name for a csHandlerID. <a href="#c47077eab375df1c6876d652671f41fa"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool const </td><td class="memItemRight" valign="bottom"><a class="el" href="structiEventHandlerRegistry.html#809449b16476a08f1a979af2dee46f5f">IsInstance</a> (<a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> id)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if id is a handler instance (i.e., not a generic name). <a href="#809449b16476a08f1a979af2dee46f5f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool const </td><td class="memItemRight" valign="bottom"><a class="el" href="structiEventHandlerRegistry.html#a9ba543b263b24842e4741e676c292bf">IsInstanceOf</a> (<a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> instanceid, <a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> genericid)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if instanceid is a handler instance, genericid is a generic instance, and instanceid is an instance of genericid in particular. <a href="#a9ba543b263b24842e4741e676c292bf"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structiEventHandlerRegistry.html#37489d90f8d0f9fea855150236253109">RegisterID</a> (<a class="el" href="structiEventHandler.html">iEventHandler</a> *)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Register an event handler to obtain a handler ID. <a href="#37489d90f8d0f9fea855150236253109"></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="structiEventHandlerRegistry.html#3ceb78db4f88a043a72dabce8830d298">ReleaseID</a> (<a class="el" href="structiEventHandler.html">iEventHandler</a> *)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Used when an <a class="el" href="structiEventHandler.html" title="This interface describes an entity that can receive events.">iEventHandler</a> is destroyed to remove our reference. <a href="#3ceb78db4f88a043a72dabce8830d298"></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="structiEventHandlerRegistry.html#2bc501367b96d67a578fe0b88706bbf7">ReleaseID</a> (<a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> id)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Used when an <a class="el" href="structiEventHandler.html" title="This interface describes an entity that can receive events.">iEventHandler</a> is destroyed to remove our reference. <a href="#2bc501367b96d67a578fe0b88706bbf7"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> This interface represents a general event handler registry/resolver. <p> An iHandlerRegistry maintains a one-to-one mapping from strings to csHandlerIDs, and a one-to-(zero or one) mapping from csHandlerIDs to <a class="el" href="structiEventHandler.html" title="This interface describes an entity that can receive events.">iEventHandler</a> pointers. <p>Definition at line <a class="el" href="iutil_2eventhandlers_8h-source.html#l00058">58</a> of file <a class="el" href="iutil_2eventhandlers_8h-source.html">eventhandlers.h</a>.</p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="434acdbf4ec1c643d0a4dc7327fbe45e"></a><!-- doxytag: member="iEventHandlerRegistry::GetGeneric" ref="434acdbf4ec1c643d0a4dc7327fbe45e" args="(csHandlerID id)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> const iEventHandlerRegistry::GetGeneric </td> <td>(</td> <td class="paramtype"><a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> </td> <td class="paramname"> <em>id</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the csHandleID for the generic name for instance name id. <p> <p>Implemented in <a class="el" href="classcsEventHandlerRegistry.html#e2f41ce295347a02c73dfb23cd632ac9">csEventHandlerRegistry</a>.</p> </div> </div><p> <a class="anchor" name="a21b5745e5ac66739232d8968cfaeec1"></a><!-- doxytag: member="iEventHandlerRegistry::GetGenericID" ref="a21b5745e5ac66739232d8968cfaeec1" args="(const char *)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> iEventHandlerRegistry::GetGenericID </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get a csHandlerID based upon some string. <p> This should only ever be done to reference generic (non-instantiated) handler names or single-instance handlers. <p>Implemented in <a class="el" href="classcsEventHandlerRegistry.html#13e54a3eed5c8579c38c0186ef3327c0">csEventHandlerRegistry</a>.</p> </div> </div><p> <a class="anchor" name="362d1aea18b8b62acdad5f03fc8775cb"></a><!-- doxytag: member="iEventHandlerRegistry::GetHandler" ref="362d1aea18b8b62acdad5f03fc8775cb" args="(csHandlerID id)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="structiEventHandler.html">iEventHandler</a>* iEventHandlerRegistry::GetHandler </td> <td>(</td> <td class="paramtype"><a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> </td> <td class="paramname"> <em>id</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the handler registered for a csHandlerID (will be NULL if csHandlerID is a generic name, i.e., if (!csEventHandlerRegistry->IsInstance(id)). <p> <p>Implemented in <a class="el" href="classcsEventHandlerRegistry.html#0236dc2ad7b9cb80c80006ab3b626ed9">csEventHandlerRegistry</a>.</p> </div> </div><p> <a class="anchor" name="dcc43f92420a5cc0e0873f2edc917e08"></a><!-- doxytag: member="iEventHandlerRegistry::GetID" ref="dcc43f92420a5cc0e0873f2edc917e08" args="(const char *)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> iEventHandlerRegistry::GetID </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the csHandlerID for an arbitrary handler name. <p> Does not set up any mappings, implicit names, or anything else that you need; a handler needs be registered with <a class="el" href="structiEventHandlerRegistry.html#37489d90f8d0f9fea855150236253109" title="Register an event handler to obtain a handler ID.">RegisterID()</a> beforehand. <p>Implemented in <a class="el" href="classcsEventHandlerRegistry.html#564f227fe5baabdb3687300cbc0d05a0">csEventHandlerRegistry</a>.</p> </div> </div><p> <a class="anchor" name="513859c14a149c88f755b24c1aa297cd"></a><!-- doxytag: member="iEventHandlerRegistry::GetID" ref="513859c14a149c88f755b24c1aa297cd" args="(iEventHandler *)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> iEventHandlerRegistry::GetID </td> <td>(</td> <td class="paramtype"><a class="el" href="structiEventHandler.html">iEventHandler</a> * </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the csHandlerID for a specified event handler, which provides its own name via the iEventHandler::GetInstanceName() method. <p> Does not set up any mappings, implicit names, or anything else that you need; a handler needs be registered with <a class="el" href="structiEventHandlerRegistry.html#37489d90f8d0f9fea855150236253109" title="Register an event handler to obtain a handler ID.">RegisterID()</a> beforehand. <p>Implemented in <a class="el" href="classcsEventHandlerRegistry.html#d3d7ce1a59e00e1c322e07eb61cb7bc4">csEventHandlerRegistry</a>.</p> </div> </div><p> <a class="anchor" name="c47077eab375df1c6876d652671f41fa"></a><!-- doxytag: member="iEventHandlerRegistry::GetString" ref="c47077eab375df1c6876d652671f41fa" args="(csHandlerID id)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const char* iEventHandlerRegistry::GetString </td> <td>(</td> <td class="paramtype"><a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> </td> <td class="paramname"> <em>id</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the string name for a csHandlerID. <p> <p>Implemented in <a class="el" href="classcsEventHandlerRegistry.html#a8f4638595ce6b61d6f28f1532606465">csEventHandlerRegistry</a>.</p> </div> </div><p> <a class="anchor" name="809449b16476a08f1a979af2dee46f5f"></a><!-- doxytag: member="iEventHandlerRegistry::IsInstance" ref="809449b16476a08f1a979af2dee46f5f" args="(csHandlerID id)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool const iEventHandlerRegistry::IsInstance </td> <td>(</td> <td class="paramtype"><a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> </td> <td class="paramname"> <em>id</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> returns true if id is a handler instance (i.e., not a generic name). <p> <p>Implemented in <a class="el" href="classcsEventHandlerRegistry.html#989bbe3abaedec3af0563a262b66de38">csEventHandlerRegistry</a>.</p> </div> </div><p> <a class="anchor" name="a9ba543b263b24842e4741e676c292bf"></a><!-- doxytag: member="iEventHandlerRegistry::IsInstanceOf" ref="a9ba543b263b24842e4741e676c292bf" args="(csHandlerID instanceid, csHandlerID genericid)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool const iEventHandlerRegistry::IsInstanceOf </td> <td>(</td> <td class="paramtype"><a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> </td> <td class="paramname"> <em>instanceid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> </td> <td class="paramname"> <em>genericid</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> returns true if instanceid is a handler instance, genericid is a generic instance, and instanceid is an instance of genericid in particular. <p> <p>Implemented in <a class="el" href="classcsEventHandlerRegistry.html#b702c3d93cea03a437c8249e1b2eb891">csEventHandlerRegistry</a>.</p> </div> </div><p> <a class="anchor" name="37489d90f8d0f9fea855150236253109"></a><!-- doxytag: member="iEventHandlerRegistry::RegisterID" ref="37489d90f8d0f9fea855150236253109" args="(iEventHandler *)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> iEventHandlerRegistry::RegisterID </td> <td>(</td> <td class="paramtype"><a class="el" href="structiEventHandler.html">iEventHandler</a> * </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Register an event handler to obtain a handler ID. <p> <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Every call must be balanced with a call to <a class="el" href="structiEventHandlerRegistry.html#2bc501367b96d67a578fe0b88706bbf7" title="Used when an iEventHandler is destroyed to remove our reference.">ReleaseID()</a> to ensure proper housekeeping. Otherwise, event handler instances may be leaking. </dd></dl> <p>Implemented in <a class="el" href="classcsEventHandlerRegistry.html#b87efdee85136c0fc3342d18d3d0bfa1">csEventHandlerRegistry</a>.</p> </div> </div><p> <a class="anchor" name="3ceb78db4f88a043a72dabce8830d298"></a><!-- doxytag: member="iEventHandlerRegistry::ReleaseID" ref="3ceb78db4f88a043a72dabce8830d298" args="(iEventHandler *)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iEventHandlerRegistry::ReleaseID </td> <td>(</td> <td class="paramtype"><a class="el" href="structiEventHandler.html">iEventHandler</a> * </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Used when an <a class="el" href="structiEventHandler.html" title="This interface describes an entity that can receive events.">iEventHandler</a> is destroyed to remove our reference. <p> <p>Implemented in <a class="el" href="classcsEventHandlerRegistry.html#898dce89e3daffa5fd438a84175de6d6">csEventHandlerRegistry</a>.</p> </div> </div><p> <a class="anchor" name="2bc501367b96d67a578fe0b88706bbf7"></a><!-- doxytag: member="iEventHandlerRegistry::ReleaseID" ref="2bc501367b96d67a578fe0b88706bbf7" args="(csHandlerID id)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iEventHandlerRegistry::ReleaseID </td> <td>(</td> <td class="paramtype"><a class="el" href="group__event__handling.html#gd62f963e20f1180634a9557b392d987d">csHandlerID</a> </td> <td class="paramname"> <em>id</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Used when an <a class="el" href="structiEventHandler.html" title="This interface describes an entity that can receive events.">iEventHandler</a> is destroyed to remove our reference. <p> <p>Implemented in <a class="el" href="classcsEventHandlerRegistry.html#ccba3e42ee457f987169ddcb987259ec">csEventHandlerRegistry</a>.</p> </div> </div><p> <hr>The documentation for this struct was generated from the following file:<ul> <li>iutil/<a class="el" href="iutil_2eventhandlers_8h-source.html">eventhandlers.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>