1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../../../css/manpage.css" type="text/css" /> 7 <style type="text/css"><!-- 8 span.static_style 9 { 10 font-size : 8pt; 11 color : white; 12 font-weight : bold; 13 background : #44f; 14 border-left : solid 1px #aaf; 15 border-top : solid 1px #aaf; 16 border-right : solid 1px #00c; 17 border-bottom : solid 1px #00c; 18 padding-left : 2px; 19 padding-right : 2px; 20 } 21 span.virtual_style 22 { 23 font-size : 8pt; 24 color : white; 25 font-weight : bold; 26 background : #0a0; 27 border-left : solid 1px #0f0; 28 border-top : solid 1px #0f0; 29 border-right : solid 1px #060; 30 border-bottom : solid 1px #060; 31 padding-left : 2px; 32 padding-right : 2px; 33 } 34 span.protected_style 35 { 36 font-size : 8pt; 37 color : white; 38 font-weight : bold; 39 background : #444; 40 border-left : solid 1px #ccc; 41 border-top : solid 1px #ccc; 42 border-right : solid 1px #222; 43 border-bottom : solid 1px #222; 44 padding-left : 2px; 45 padding-right : 2px; 46 } 47 --></style> 48<title>nn::os::LightEvent</title> 49 </head> 50 <body> 51<h1><CODE><a href="../../../nn/Overview.html">nn</a>::<a href="../../../nn/os/Overview.html">os</a>::LightEvent</CODE> Class</h1> 52 <div class="section"> 53<b>Header file: </b>nn/os.h</div> 54<h2>Syntax</h2> 55 <div class="section"> 56<pre class="definition">class LightEvent : private <a href="../../../nn/util/NonCopyable/Overview.html">nn::util::NonCopyable< LightEvent ></a></pre> 57 </div> 58<h2>Description</h2> 59 <div class="section"> 60<p>Synchronization mechanism for communicating flags between threads.</p><p>The class has an internal flag that multiple threads can control in a safe manner. It can also be used to wait for the flag to be set.</p><p>The <a href="../../../nn/os/LightEvent/Overview.html"><CODE>nn::os::LightEvent</CODE></a> class is superior to the <a href="../../../nn/os/Event/Overview.html"><CODE>nn::os::Event</CODE></a> class and should therefore be used in normal cases. Its only disadvantage is the fact that it is unable to wait for multiple synchronization objects simultaneously.</p><p>All member functions of this class are thread-safe except for the <CODE>Initialize</CODE> and <CODE>Finalize</CODE> functions.</p><!-- write here --></div> 61 <a name="function" id="function"> 62<h2>Member Functions</h2> 63 <div class="section"> 64 <table class="members"> 65 <tr> 66<th class="category" colspan="3">Initialization/Finalization</th> 67 </tr> 68 <tr> 69 <td width="100"> </td> 70 <th> 71<a href="../../../nn/os/LightEvent/LightEvent.html"><CODE>LightEvent</CODE></a> 72 </th> 73<td>Constructor.</td> 74 </tr> 75 <tr> 76 <td width="100"> </td> 77 <th> 78<a href="../../../nn/os/LightEvent/Initialize.html"><CODE>Initialize</CODE></a> 79 </th> 80<td>Performs initialization.</td> 81 </tr> 82 <tr> 83 <td width="100"> </td> 84 <th> 85<a href="../../../nn/os/LightEvent/Finalize.html"><CODE>Finalize</CODE></a> 86 </th> 87<td>Performs finalization.</td> 88 </tr> 89 <tr> 90<th class="category" colspan="3">Obtaining Debug Info</th> 91 </tr> 92 <tr> 93 <td width="100"> </td> 94 <th> 95<a href="../../../nn/os/LightEvent/IsSignaled.html"><CODE>IsSignaled</CODE></a> 96 </th> 97<td>Obtains whether the flag is set.</td> 98 </tr> 99 <tr> 100 <td width="100"> </td> 101 <th> 102<a href="../../../nn/os/LightEvent/IsManualReset.html"><CODE>IsManualReset</CODE></a> 103 </th> 104<td>Determines whether an event is a manually resetting event.</td> 105 </tr> 106 <tr> 107<th class="category" colspan="3">Flag Operations and Blocking</th> 108 </tr> 109 <tr> 110 <td width="100"> </td> 111 <th> 112<a href="../../../nn/os/LightEvent/TryWait.html"><CODE>TryWait</CODE></a> 113 </th> 114<td>Gets whether the flag is set.</td> 115 </tr> 116 <tr> 117 <td width="100"> </td> 118 <th> 119<a href="../../../nn/os/LightEvent/Wait.html"><CODE>Wait</CODE></a> 120 </th> 121<td>Waits until the flag is set.</td> 122 </tr> 123 <tr> 124 <td width="100"> </td> 125 <th> 126<a href="../../../nn/os/LightEvent/Signal.html"><CODE>Signal</CODE></a> 127 </th> 128<td>Sets the flag.</td> 129 </tr> 130 <tr> 131 <td width="100"> </td> 132 <th> 133<a href="../../../nn/os/LightEvent/Pulse.html"><CODE>Pulse</CODE></a> 134 </th> 135<td>Deallocates threads that are waiting for the flag to be set.</td> 136 </tr> 137 <tr> 138 <td width="100"> </td> 139 <th> 140<a href="../../../nn/os/LightEvent/ClearSignal.html"><CODE>ClearSignal</CODE></a> 141 </th> 142<td>Clears the flag.</td> 143 </tr> </table> 144 </div> 145 </a> 146<h2>Class Hierarchy</h2> 147 <div class="section"> 148<p class="hierarchy"><CODE><a href="../../../nn/util/NonCopyable/Overview.html">nn::util::NonCopyable</a></CODE><br /> <b><CODE>nn::os::LightEvent</CODE></b> 149 </p> 150 </div> 151<h2>Revision History</h2> 152 <div class="section"> 153 <dl class="history"> 154 <dt>2010/06/14</dt> 155<dd>Initial version.<br /> 156 </dd> 157 </dl> 158 </div> 159 <hr><p>CONFIDENTIAL</p></body> 160</html> 161