classevent.html

来自「美国COPLEY驱动器,程序开发工具之一.」· HTML 代码 · 共 424 行 · 第 1/2 页

HTML
424
字号
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Copley Motion Library: Event Class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.4 --><div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div><h1>Event Class Reference</h1><!-- doxytag: class="Event" --><p>Inheritance diagram for Event:<p><center><img src="classEvent.png" usemap="#Event_map" border="0" alt=""></center><map name="Event_map"><area href="classEventAll.html" alt="EventAll" shape="rect" coords="0,56,98,80"><area href="classEventAny.html" alt="EventAny" shape="rect" coords="108,56,206,80"><area href="classEventAnyClear.html" alt="EventAnyClear" shape="rect" coords="216,56,314,80"><area href="classEventNone.html" alt="EventNone" shape="rect" coords="324,56,422,80"></map><a href="classEvent-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>Events are a generic mechanism used to wait on some condition. <p>They are used in conjunction with the <a class="el" href="classEventMap.html">EventMap</a> object.<p>Every <a class="el" href="classEventMap.html">EventMap</a> object has a 32-bit mask register which describes it's state. Event objects may be attached to an <a class="el" href="classEventMap.html">EventMap</a> to wait for any combination of bits in the mask to become active.<p>The base Event class is a virtual class, and therefore shouldn't be used directy. It is extended by a number of sub-classes which are used to wait for certain map bits to be set, cleared, etc.<p>An Event object may only be assigned to one <a class="el" href="classEventMap.html">EventMap</a> at a time. An attempt to attach it to multiple <a class="el" href="classEventMap.html">EventMap</a> objects will result in an error. Further, Event objects are not thread safe. Only one thread should access a particular Event object at a time. <a class="el" href="classEventMap.html">EventMap</a> objects however are thread safe, so any number of threads may attach their own Event objects to the same <a class="el" href="classEventMap.html">EventMap</a> object without issue.<p><p>Definition at line <a class="el" href="CML__EventMap_8h-source.html#l00065">65</a> of file <a class="el" href="CML__EventMap_8h-source.html">CML_EventMap.h</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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEvent.html#a0">Event</a> (<a class="el" href="CML__Utils_8h.html#a10">uint32</a> val=0)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor for an Event object.  <a href="#a0"></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="classEvent.html#a1">~Event</a> ()</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event distructor.  <a href="#a1"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classError.html">Error</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEvent.html#a2">setValue</a> (<a class="el" href="CML__Utils_8h.html#a10">uint32</a> val)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the value that the event will wait for.  <a href="#a2"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEvent.html#a3">setChain</a> (class <a class="el" href="classEventMap.html">EventMap</a> &amp;map, <a class="el" href="CML__Utils_8h.html#a10">uint32</a> mask)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup event chaining.  <a href="#a3"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEvent.html#a4">delChain</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove any pointer to a chained event map.  <a href="#a4"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="CML__Utils_8h.html#a10">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEvent.html#a5">getValue</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the value that this event will wait on.  <a href="#a5"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="CML__Utils_8h.html#a10">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEvent.html#a6">getMask</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the most recent mask value that caused the event to succeed.  <a href="#a6"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classError.html">Error</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEvent.html#a7">Wait</a> (<a class="el" href="classEventMap.html">EventMap</a> &amp;m, <a class="el" href="CML__Utils_8h.html#a9">int32</a> timeout)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wait on an event.  <a href="#a7"></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="classEvent.html#a8">isTrue</a> (<a class="el" href="CML__Utils_8h.html#a10">uint32</a> mask)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test the event to see if it's condition is true.  <a href="#a8"></a><br></td></tr><tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="p0"></a><!-- doxytag: member="Event::value" ref="p0" args="" --><a class="el" href="CML__Utils_8h.html#a10">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEvent.html#p0">value</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the value that the event is waiting for. <br></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="n0"></a><!-- doxytag: member="Event::EventMap" ref="n0" args="" -->class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEvent.html#n0">EventMap</a></td></tr></table><hr><h2>Constructor &amp; Destructor Documentation</h2><a class="anchor" name="a0"></a><!-- doxytag: member="Event::Event" ref="a0" args="(uint32 val=0)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"><a class="el" href="classEvent.html">Event</a>           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="CML__Utils_8h.html#a10">uint32</a>&nbsp;</td>          <td class="mdname1" valign="top" nowrap> <em>val</em> = <code>0</code>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>Default constructor for an Event object. <p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The value that the event will wait for. If not specified, defaults to zero.</td></tr>  </table></dl><p>Definition at line <a class="el" href="EventMap_8cpp-source.html#l00033">33</a> of file <a class="el" href="EventMap_8cpp-source.html">EventMap.cpp</a>.    </td>  </tr></table><a class="anchor" name="a1"></a><!-- doxytag: member="Event::~Event" ref="a1" args="()" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top">~<a class="el" href="classEvent.html">Event</a>           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">void&nbsp;</td>          <td class="mdname1" valign="top" nowrap>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap><code> [virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>Event distructor. <p>This makes sure the event isn't mapped when it's destroyed<p>Definition at line <a class="el" href="EventMap_8cpp-source.html#l00046">46</a> of file <a class="el" href="EventMap_8cpp-source.html">EventMap.cpp</a>.    </td>  </tr></table><hr><h2>Member Function Documentation</h2><a class="anchor" name="a4"></a><!-- doxytag: member="Event::delChain" ref="a4" args="(void)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top">void delChain           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">void&nbsp;</td>          <td class="mdname1" valign="top" nowrap>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>Remove any pointer to a chained event map. <p>This undoes any chaining that was setup using the <a class="el" href="classEvent.html#a3">Event::setChain</a> method.<p>Definition at line <a class="el" href="EventMap_8cpp-source.html#l00154">154</a> of file <a class="el" href="EventMap_8cpp-source.html">EventMap.cpp</a>.    </td>  </tr></table><a class="anchor" name="a6"></a><!-- doxytag: member="Event::getMask" ref="a6" args="(void)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"><a class="el" href="CML__Utils_8h.html#a10">uint32</a> getMask           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">void&nbsp;</td>          <td class="mdname1" valign="top" nowrap>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap><code> [inline]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>Return the most recent mask value that caused the event to succeed. <p>After a successful Wait, this can be used to return the mask that caused the successful match.<p>Definition at line <a class="el" href="CML__EventMap_8h-source.html#l00118">118</a> of file <a class="el" href="CML__EventMap_8h-source.html">CML_EventMap.h</a>.    </td>  </tr></table><a class="anchor" name="a5"></a><!-- doxytag: member="Event::getValue" ref="a5" args="(void)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"><a class="el" href="CML__Utils_8h.html#a10">uint32</a> getValue           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">void&nbsp;</td>          <td class="mdname1" valign="top" nowrap>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap><code> [inline]</code></td>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?