Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 473

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!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: csEventQueue Class 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&nbsp;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&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>csEventQueue Class Reference</h1><!-- doxytag: class="csEventQueue" --><!-- doxytag: inherits="scfImplementation1&lt; csEventQueue, iEventQueue &gt;" -->This class represents a general event queue.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="cseventq_8h-source.html">csutil/cseventq.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for csEventQueue:</div>
<div class="dynsection">
<p><center><img src="classcsEventQueue__inherit__graph.png" border="0" usemap="#csEventQueue__inherit__map" alt="Inheritance graph"></center>
<map name="csEventQueue__inherit__map">
<area shape="rect" href="classscfImplementation1.html" title="scfImplementation1\&lt; csEventQueue, iEventQueue \&gt;" alt="" coords="60,161,425,188"><area shape="rect" href="classscfImplementation.html" title="scfImplementation\&lt; csEventQueue \&gt;" alt="" coords="5,84,272,111"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="296,7,352,33"><area shape="rect" href="structiEventQueue.html" title="This interface represents a general event queue." alt="" coords="296,84,400,111"><area shape="rect" href="classCS_1_1Memory_1_1CustomAllocated.html" title="Class that overrides operator new/operator delete/etc." alt="" coords="28,7,249,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classcsEventQueue-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 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#4fa9a3e51486de50707879d8a33d6d67">Clear</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear event queue.  <a href="#4fa9a3e51486de50707879d8a33d6d67"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#99229403fdbe7badb9446ae0301afa57">CountPool</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a count of events in the pool, for testing only.  <a href="#99229403fdbe7badb9446ae0301afa57"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt; <a class="el" href="structiEvent.html">iEvent</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#6c9bc4dee2d776c2b9141dedfb6b176d">CreateBroadcastEvent</a> (const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> &amp;name)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an event with the broadcast flag set.  <a href="#6c9bc4dee2d776c2b9141dedfb6b176d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt; <a class="el" href="structiEvent.html">iEvent</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#c2e7ffe12dbb5f60c2fdcd61c806eb28">CreateEvent</a> (const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> &amp;name)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an event, from the pool if there are any free events available.  <a href="#c2e7ffe12dbb5f60c2fdcd61c806eb28"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt; <a class="el" href="structiEvent.html">iEvent</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#02d5120a5efb43746a9087242c7b5bde">CreateEvent</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Grab an event from the pool or make a new one if it's empty.  <a href="#02d5120a5efb43746a9087242c7b5bde"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiEventOutlet.html">iEventOutlet</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#1ac5c57a6dded0331b1c4a1f3e1bec01">CreateEventOutlet</a> (<a class="el" href="structiEventPlug.html">iEventPlug</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register an event plug and return a new outlet.  <a href="#1ac5c57a6dded0331b1c4a1f3e1bec01"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#ffac0d4d4fb821a59d0feef4e0ac7a98">csEventQueue</a> (<a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *, size_t iLength=DEF_EVENT_QUEUE_LENGTH)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the event queue.  <a href="#ffac0d4d4fb821a59d0feef4e0ac7a98"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#3ff083b51a426f459d89880a69b16dca">Dispatch</a> (<a class="el" href="structiEvent.html">iEvent</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dispatch a single event from the queue; normally called by Process ().  <a href="#3ff083b51a426f459d89880a69b16dca"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt; <a class="el" href="structiEvent.html">iEvent</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#0d7241d3903c2193bc702038d56a71a4">Get</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get next event from queue or a null references if no event.  <a href="#0d7241d3903c2193bc702038d56a71a4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiEventCord.html">iEventCord</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#31799cc03f6df8b2672a52172534a52f">GetEventCord</a> (const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the event cord for a given category and subcategory.  <a href="#31799cc03f6df8b2672a52172534a52f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiEventOutlet.html">iEventOutlet</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#889af3f32d074ab09bc6a4a1262581b2">GetEventOutlet</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a public event outlet for posting just an event.  <a href="#889af3f32d074ab09bc6a4a1262581b2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#0639070198fefb1d84008279598e715a">IsEmpty</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query if queue is empty (@@ Not thread safe!).  <a href="#0639070198fefb1d84008279598e715a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#a88c2e4eaebc42c8c28ea3305a33fb66">Post</a> (<a class="el" href="structiEvent.html">iEvent</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Place an event into queue.  <a href="#a88c2e4eaebc42c8c28ea3305a33fb66"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#79bf31788492531ae382de8d89e8038e">Process</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process the event queue. Calls Dispatch () once for each contained event.  <a href="#79bf31788492531ae382de8d89e8038e"></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>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#ae4f8fb9207549d9f425d590afac44b5">RegisterListener</a> (<a class="el" href="structiEventHandler.html">iEventHandler</a> *handler, const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> events[])</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shorthand for <a class="el" href="classcsEventQueue.html#3ad5bfe2314deff3ad8bf437427ab481" title="Make the event scheduler subsystem aware of an event handler.">RegisterListener()</a> followed by <a class="el" href="classcsEventQueue.html#2b1512573c22156a964234968cebf2a1" title="Subscribe a listener to an event subtree.">Subscribe()</a>.  <a href="#ae4f8fb9207549d9f425d590afac44b5"></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>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#9db4f87e4d83b200a9657cc1825cbf99">RegisterListener</a> (<a class="el" href="structiEventHandler.html">iEventHandler</a> *handler, const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> &amp;event)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shorthand for <a class="el" href="classcsEventQueue.html#3ad5bfe2314deff3ad8bf437427ab481" title="Make the event scheduler subsystem aware of an event handler.">RegisterListener()</a> followed by <a class="el" href="classcsEventQueue.html#2b1512573c22156a964234968cebf2a1" title="Subscribe a listener to an event subtree.">Subscribe()</a>.  <a href="#9db4f87e4d83b200a9657cc1825cbf99"></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>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#3ad5bfe2314deff3ad8bf437427ab481">RegisterListener</a> (<a class="el" href="structiEventHandler.html">iEventHandler</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the event scheduler subsystem aware of an event handler.  <a href="#3ad5bfe2314deff3ad8bf437427ab481"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#1db3cd62c3338c75d04d70ca4d0dfab9">RemoveAllListeners</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all listeners from the queue.  <a href="#1db3cd62c3338c75d04d70ca4d0dfab9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#db64113ffdddc80e0a74be4ffe5b9e53">RemoveListener</a> (<a class="el" href="structiEventHandler.html">iEventHandler</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a given listener from the event queue.  <a href="#db64113ffdddc80e0a74be4ffe5b9e53"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#586e9cfd6350842fa0352c627f4ef7ff">Subscribe</a> (<a class="el" href="structiEventHandler.html">iEventHandler</a> *, const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a>[])</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subscribe a listener to a set of event subtrees.  <a href="#586e9cfd6350842fa0352c627f4ef7ff"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#2b1512573c22156a964234968cebf2a1">Subscribe</a> (<a class="el" href="structiEventHandler.html">iEventHandler</a> *, const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subscribe a listener to an event subtree.  <a href="#2b1512573c22156a964234968cebf2a1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#5f475b574aa0694c98b6914bf0032e18">Unsubscribe</a> (<a class="el" href="structiEventHandler.html">iEventHandler</a> *, const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a>[])</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unsubscribe a listener from a set of event subtrees.  <a href="#5f475b574aa0694c98b6914bf0032e18"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#788e25b7d5948b78fc6eb33054fa2ffa">Unsubscribe</a> (<a class="el" href="structiEventHandler.html">iEventHandler</a> *, const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unsubscribe a listener from an event subtree.  <a href="#788e25b7d5948b78fc6eb33054fa2ffa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#79de1a4dd4c72de6b788f620a54b26c9">~csEventQueue</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy an event queue object.  <a href="#79de1a4dd4c72de6b788f620a54b26c9"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6a714a4f3c3934053d713ed25cbe1b60"></a><!-- doxytag: member="csEventQueue::FinalProcess" ref="6a714a4f3c3934053d713ed25cbe1b60" args="" -->
<a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#6a714a4f3c3934053d713ed25cbe1b60">FinalProcess</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="99cad3eb2e7d9483d2667f8ce5ddc464"></a><!-- doxytag: member="csEventQueue::Frame" ref="99cad3eb2e7d9483d2667f8ce5ddc464" args="" -->
<a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#99cad3eb2e7d9483d2667f8ce5ddc464">Frame</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a43d979338fb5e2d9352a11531023a79"></a><!-- doxytag: member="csEventQueue::PostProcess" ref="a43d979338fb5e2d9352a11531023a79" args="" -->
<a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#a43d979338fb5e2d9352a11531023a79">PostProcess</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="622267fe05a51cd2d15f47e4623e5d0d"></a><!-- doxytag: member="csEventQueue::PreProcess" ref="622267fe05a51cd2d15f47e4623e5d0d" args="" -->
<a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#622267fe05a51cd2d15f47e4623e5d0d">PreProcess</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e86832c0c6efd23913ba13eba844851f"></a><!-- doxytag: member="csEventQueue::ProcessEvent" ref="e86832c0c6efd23913ba13eba844851f" args="" -->
<a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#e86832c0c6efd23913ba13eba844851f">ProcessEvent</a></td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="045c4aa8c93411d96adb6374223fca27"></a><!-- doxytag: member="csEventQueue::csEventOutlet" ref="045c4aa8c93411d96adb6374223fca27" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#045c4aa8c93411d96adb6374223fca27">csEventOutlet</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f404f613d3150d4f80c6da84fa375a24"></a><!-- doxytag: member="csEventQueue::csEventQueueTest" ref="f404f613d3150d4f80c6da84fa375a24" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#f404f613d3150d4f80c6da84fa375a24">csEventQueueTest</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38be8f61f3116fd02fd4b301a7d7ce9c"></a><!-- doxytag: member="csEventQueue::csEventTree" ref="38be8f61f3116fd02fd4b301a7d7ce9c" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#38be8f61f3116fd02fd4b301a7d7ce9c">csEventTree</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec50ba80b5421ab09fcde6246b667423"></a><!-- doxytag: member="csEventQueue::csPoolEvent" ref="ec50ba80b5421ab09fcde6246b667423" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue.html#ec50ba80b5421ab09fcde6246b667423">csPoolEvent</a></td></tr>

<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue_1_1FinalProcessFrameEventDispatcher.html">FinalProcessFrameEventDispatcher</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsEventQueue_1_1iTypedFrameEventDispatcher.html">iTypedFrameEventDispatcher</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">As a transitional measure, the csevPreProcess, csevProcess, csevPostProcess and csevFinalProcess events are actually sub-events dispatched by a csevFrame handler.  <a href="structcsEventQueue_1_1iTypedFrameEventDispatcher.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue_1_1PostProcessFrameEventDispatcher.html">PostProcessFrameEventDispatcher</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue_1_1PreProcessFrameEventDispatcher.html">PreProcessFrameEventDispatcher</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsEventQueue_1_1ProcessFrameEventDispatcher.html">ProcessFrameEventDispatcher</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class represents a general event queue. 
<p>
See the documentation of <a class="el" href="structiEventQueue.html" title="This interface represents a general event queue.">iEventQueue</a> for a detailed description of each method. One instance of this class is usually shared via <a class="el" href="structiObjectRegistry.html" title="This interface serves as a registry of other objects.">iObjectRegistry</a>. Event queues are thread-safe. 
<p>Definition at line <a class="el" href="cseventq_8h-source.html#l00067">67</a> of file <a class="el" href="cseventq_8h-source.html">cseventq.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="ffac0d4d4fb821a59d0feef4e0ac7a98"></a><!-- doxytag: member="csEventQueue::csEventQueue" ref="ffac0d4d4fb821a59d0feef4e0ac7a98" args="(iObjectRegistry *, size_t iLength=DEF_EVENT_QUEUE_LENGTH)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csEventQueue::csEventQueue           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>iLength</em> = <code>DEF_EVENT_QUEUE_LENGTH</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize the event queue. 
<p>

</div>
</div><p>
<a class="anchor" name="79de1a4dd4c72de6b788f620a54b26c9"></a><!-- doxytag: member="csEventQueue::~csEventQueue" ref="79de1a4dd4c72de6b788f620a54b26c9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual csEventQueue::~csEventQueue           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy an event queue object. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="4fa9a3e51486de50707879d8a33d6d67"></a><!-- doxytag: member="csEventQueue::Clear" ref="4fa9a3e51486de50707879d8a33d6d67" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csEventQueue::Clear           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clear event queue. 
<p>

<p>Implements <a class="el" href="structiEventQueue.html#128a32708ca9b2dcf62f2451c12e7f25">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="99229403fdbe7badb9446ae0301afa57"></a><!-- doxytag: member="csEventQueue::CountPool" ref="99229403fdbe7badb9446ae0301afa57" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> csEventQueue::CountPool           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a count of events in the pool, for testing only. 
<p>

</div>
</div><p>
<a class="anchor" name="6c9bc4dee2d776c2b9141dedfb6b176d"></a><!-- doxytag: member="csEventQueue::CreateBroadcastEvent" ref="6c9bc4dee2d776c2b9141dedfb6b176d" args="(const csEventID &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiEvent.html">iEvent</a>&gt; csEventQueue::CreateBroadcastEvent           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create an event with the broadcast flag set. 
<p>
Draw from the pool if any are available, else create a new event in the pool and use it. 
<p>Implements <a class="el" href="structiEventQueue.html#9bb1643bd96d5a213d45cffd95c4e1c8">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="c2e7ffe12dbb5f60c2fdcd61c806eb28"></a><!-- doxytag: member="csEventQueue::CreateEvent" ref="c2e7ffe12dbb5f60c2fdcd61c806eb28" args="(const csEventID &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiEvent.html">iEvent</a>&gt; csEventQueue::CreateEvent           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create an event, from the pool if there are any free events available. 
<p>
Else create a new event in the pool and use it. 
<p>Implements <a class="el" href="structiEventQueue.html#4205ef82fb3cdce7aa69ddaecf87c06d">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="02d5120a5efb43746a9087242c7b5bde"></a><!-- doxytag: member="csEventQueue::CreateEvent" ref="02d5120a5efb43746a9087242c7b5bde" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiEvent.html">iEvent</a>&gt; csEventQueue::CreateEvent           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Grab an event from the pool or make a new one if it's empty. 
<p>

</div>
</div><p>
<a class="anchor" name="1ac5c57a6dded0331b1c4a1f3e1bec01"></a><!-- doxytag: member="csEventQueue::CreateEventOutlet" ref="1ac5c57a6dded0331b1c4a1f3e1bec01" args="(iEventPlug *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiEventOutlet.html">iEventOutlet</a>&gt; csEventQueue::CreateEventOutlet           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventPlug.html">iEventPlug</a> *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Register an event plug and return a new outlet. 
<p>

<p>Implements <a class="el" href="structiEventQueue.html#3d38841db6bf69ffd2324b7afb60a094">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="3ff083b51a426f459d89880a69b16dca"></a><!-- doxytag: member="csEventQueue::Dispatch" ref="3ff083b51a426f459d89880a69b16dca" args="(iEvent &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csEventQueue::Dispatch           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEvent.html">iEvent</a> &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Dispatch a single event from the queue; normally called by Process (). 
<p>

<p>Implements <a class="el" href="structiEventQueue.html#975d0dccbb093805f1f0cbb6e4555b72">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="0d7241d3903c2193bc702038d56a71a4"></a><!-- doxytag: member="csEventQueue::Get" ref="0d7241d3903c2193bc702038d56a71a4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiEvent.html">iEvent</a>&gt; csEventQueue::Get           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get next event from queue or a null references if no event. 
<p>

<p>Implements <a class="el" href="structiEventQueue.html#9aee3158b02f8a83b9ded3e05bf9c638">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="31799cc03f6df8b2672a52172534a52f"></a><!-- doxytag: member="csEventQueue::GetEventCord" ref="31799cc03f6df8b2672a52172534a52f" args="(const csEventID &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiEventCord.html">iEventCord</a>* csEventQueue::GetEventCord           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the event cord for a given category and subcategory. 
<p>

<p>Implements <a class="el" href="structiEventQueue.html#bf2d807805fd7946a1a8b116a8d6a522">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="889af3f32d074ab09bc6a4a1262581b2"></a><!-- doxytag: member="csEventQueue::GetEventOutlet" ref="889af3f32d074ab09bc6a4a1262581b2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiEventOutlet.html">iEventOutlet</a>* csEventQueue::GetEventOutlet           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a public event outlet for posting just an event. 
<p>

<p>Implements <a class="el" href="structiEventQueue.html#cfe5bac1771691f750834ef83687cc55">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="0639070198fefb1d84008279598e715a"></a><!-- doxytag: member="csEventQueue::IsEmpty" ref="0639070198fefb1d84008279598e715a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csEventQueue::IsEmpty           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Query if queue is empty (@@ Not thread safe!). 
<p>

<p>Implements <a class="el" href="structiEventQueue.html#58bda21afddedb84a55ec2066c8b2563">iEventQueue</a>.</p>

<p>Definition at line <a class="el" href="cseventq_8h-source.html#l00227">227</a> of file <a class="el" href="cseventq_8h-source.html">cseventq.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a88c2e4eaebc42c8c28ea3305a33fb66"></a><!-- doxytag: member="csEventQueue::Post" ref="a88c2e4eaebc42c8c28ea3305a33fb66" args="(iEvent *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csEventQueue::Post           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEvent.html">iEvent</a> *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Place an event into queue. 
<p>

<p>Implements <a class="el" href="structiEventQueue.html#ad3e8be23e919c3bccd2ea90f16bcd52">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="79bf31788492531ae382de8d89e8038e"></a><!-- doxytag: member="csEventQueue::Process" ref="79bf31788492531ae382de8d89e8038e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csEventQueue::Process           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Process the event queue. Calls Dispatch () once for each contained event. 
<p>

<p>Implements <a class="el" href="structiEventQueue.html#f577ff11e5a6c4b0891f13ddf451666a">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="ae4f8fb9207549d9f425d590afac44b5"></a><!-- doxytag: member="csEventQueue::RegisterListener" ref="ae4f8fb9207549d9f425d590afac44b5" args="(iEventHandler *handler, const csEventID events[])" -->
<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> csEventQueue::RegisterListener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventHandler.html">iEventHandler</a> *&nbsp;</td>
          <td class="paramname"> <em>handler</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a>&nbsp;</td>
          <td class="paramname"> <em>events</em>[]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Shorthand for <a class="el" href="classcsEventQueue.html#3ad5bfe2314deff3ad8bf437427ab481" title="Make the event scheduler subsystem aware of an event handler.">RegisterListener()</a> followed by <a class="el" href="classcsEventQueue.html#2b1512573c22156a964234968cebf2a1" title="Subscribe a listener to an event subtree.">Subscribe()</a>. 
<p>

<p>Implements <a class="el" href="structiEventQueue.html#d96ba035df110b38fff5818dc573bed1">iEventQueue</a>.</p>

<p>Definition at line <a class="el" href="cseventq_8h-source.html#l00151">151</a> of file <a class="el" href="cseventq_8h-source.html">cseventq.h</a>.</p>

<p>References <a class="el" href="iutil_2eventhandlers_8h-source.html#l00033">CS_HANDLER_INVALID</a>.</p>

</div>
</div><p>
<a class="anchor" name="9db4f87e4d83b200a9657cc1825cbf99"></a><!-- doxytag: member="csEventQueue::RegisterListener" ref="9db4f87e4d83b200a9657cc1825cbf99" args="(iEventHandler *handler, const csEventID &amp;event)" -->
<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> csEventQueue::RegisterListener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventHandler.html">iEventHandler</a> *&nbsp;</td>
          <td class="paramname"> <em>handler</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>event</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Shorthand for <a class="el" href="classcsEventQueue.html#3ad5bfe2314deff3ad8bf437427ab481" title="Make the event scheduler subsystem aware of an event handler.">RegisterListener()</a> followed by <a class="el" href="classcsEventQueue.html#2b1512573c22156a964234968cebf2a1" title="Subscribe a listener to an event subtree.">Subscribe()</a>. 
<p>

<p>Implements <a class="el" href="structiEventQueue.html#5feb540f523c6feb7b99db5976a70ca0">iEventQueue</a>.</p>

<p>Definition at line <a class="el" href="cseventq_8h-source.html#l00137">137</a> of file <a class="el" href="cseventq_8h-source.html">cseventq.h</a>.</p>

<p>References <a class="el" href="iutil_2eventhandlers_8h-source.html#l00033">CS_HANDLER_INVALID</a>.</p>

</div>
</div><p>
<a class="anchor" name="3ad5bfe2314deff3ad8bf437427ab481"></a><!-- doxytag: member="csEventQueue::RegisterListener" ref="3ad5bfe2314deff3ad8bf437427ab481" args="(iEventHandler *)" -->
<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> csEventQueue::RegisterListener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventHandler.html">iEventHandler</a> *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Make the event scheduler subsystem aware of an event handler. 
<p>

<p>Implements <a class="el" href="structiEventQueue.html#60116ec12210ce66f7aa65f9c5677321">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="1db3cd62c3338c75d04d70ca4d0dfab9"></a><!-- doxytag: member="csEventQueue::RemoveAllListeners" ref="1db3cd62c3338c75d04d70ca4d0dfab9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csEventQueue::RemoveAllListeners           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove all listeners from the queue. 
<p>
Unregister all listeners. <p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This function is used to clear all listeners from the event queue stack. You should only call this function at the end of your program after the event queue processing has terminated. </dd></dl>
<dl class="user" compact><dt><b></b></dt><dd>If you make use of <a class="el" href="classcsInitializer.html#20e8aa3c7ab8c1070dc77e8423927359" title="Destroy the application.">csInitializer::DestroyApplication()</a>, this is done for you by that call. </dd></dl>
 () 
<p>Implements <a class="el" href="structiEventQueue.html#88aa9fc1d79547e551f28701a601b2c6">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="db64113ffdddc80e0a74be4ffe5b9e53"></a><!-- doxytag: member="csEventQueue::RemoveListener" ref="db64113ffdddc80e0a74be4ffe5b9e53" args="(iEventHandler *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csEventQueue::RemoveListener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventHandler.html">iEventHandler</a> *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a given listener from the event queue. 
<p>
Removes all subscriptions. It is <b>VERY</b> important that this be called before deleting the event handler! 
<p>Implements <a class="el" href="structiEventQueue.html#8f519aa16cb1cb16a1d31dc5e4c6274a">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="586e9cfd6350842fa0352c627f4ef7ff"></a><!-- doxytag: member="csEventQueue::Subscribe" ref="586e9cfd6350842fa0352c627f4ef7ff" args="(iEventHandler *, const csEventID[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csEventQueue::Subscribe           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventHandler.html">iEventHandler</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const &nbsp;</td>
          <td class="paramname"> <em>csEventID</em>[]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Subscribe a listener to a set of event subtrees. 
<p>
The event subtrees should be disjoint, i.e., no event name should be a prefix of another. <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classcsEventTree.html#04ca4d1748524ab5411de2e882603dad" title="Subscribe a given handler to a given event name subtree via a given event queue.">csEventTree::Subscribe</a> </dd></dl>

<p>Implements <a class="el" href="structiEventQueue.html#d01e01c3575f545deb3a015ced63d5fd">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="2b1512573c22156a964234968cebf2a1"></a><!-- doxytag: member="csEventQueue::Subscribe" ref="2b1512573c22156a964234968cebf2a1" args="(iEventHandler *, const csEventID &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csEventQueue::Subscribe           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventHandler.html">iEventHandler</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Subscribe a listener to an event subtree. 
<p>
Thinly wraps <a class="el" href="classcsEventTree.html#04ca4d1748524ab5411de2e882603dad" title="Subscribe a given handler to a given event name subtree via a given event queue.">csEventTree::Subscribe</a> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classcsEventTree.html#04ca4d1748524ab5411de2e882603dad" title="Subscribe a given handler to a given event name subtree via a given event queue.">csEventTree::Subscribe</a> </dd></dl>

<p>Implements <a class="el" href="structiEventQueue.html#d3e206126333538024bdd9587a7bd221">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="5f475b574aa0694c98b6914bf0032e18"></a><!-- doxytag: member="csEventQueue::Unsubscribe" ref="5f475b574aa0694c98b6914bf0032e18" args="(iEventHandler *, const csEventID[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csEventQueue::Unsubscribe           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventHandler.html">iEventHandler</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const &nbsp;</td>
          <td class="paramname"> <em>csEventID</em>[]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Unsubscribe a listener from a set of event subtrees. 
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classcsEventTree.html#69588cc4abc05a5f8946951b1ff51f8d" title="Unubscribe a given handler to a given event name subtree via a given event queue...">csEventTree::Unsubscribe</a> </dd></dl>

<p>Implements <a class="el" href="structiEventQueue.html#b876060e241bd117ebdad426ba0135c5">iEventQueue</a>.</p>

</div>
</div><p>
<a class="anchor" name="788e25b7d5948b78fc6eb33054fa2ffa"></a><!-- doxytag: member="csEventQueue::Unsubscribe" ref="788e25b7d5948b78fc6eb33054fa2ffa" args="(iEventHandler *, const csEventID &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csEventQueue::Unsubscribe           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventHandler.html">iEventHandler</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Unsubscribe a listener from an event subtree. 
<p>
Thinly wraps <a class="el" href="classcsEventTree.html#69588cc4abc05a5f8946951b1ff51f8d" title="Unubscribe a given handler to a given event name subtree via a given event queue...">csEventTree::Unsubscribe</a> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classcsEventTree.html#69588cc4abc05a5f8946951b1ff51f8d" title="Unubscribe a given handler to a given event name subtree via a given event queue...">csEventTree::Unsubscribe</a> </dd></dl>

<p>Implements <a class="el" href="structiEventQueue.html#207d420ec1f30ba4e8dc3a17ff94b2b7">iEventQueue</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>csutil/<a class="el" href="cseventq_8h-source.html">cseventq.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>