diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a02824.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a02824.html | 1096 |
1 files changed, 1096 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02824.html b/docs/doxygen/nel/a02824.html new file mode 100644 index 00000000..51e9702f --- /dev/null +++ b/docs/doxygen/nel/a02824.html @@ -0,0 +1,1096 @@ +<!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>NeL: NLLOGIC::CLogicState class Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.6 --> +<div class="qindex"> <form class="search" action="search.php" method="get"> +<a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLLOGIC::CLogicState Class Reference</h1><code>#include <<a class="el" href="a05953.html">logic_state.h</a>></code> +<p> +<hr><a name="_details"></a><h2>Detailed Description</h2> +<a class="el" href="a02824.html">CLogicState</a><p> +<dl compact><dt><b>Author:</b></dt><dd>Stephane Coutelas <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2001 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a05953.html#l00056">56</a> of file <a class="el" href="a05953.html">logic_state.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>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea0">addEvent</a> (<a class="el" href="a02821.html">CLogicEvent</a> event)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea1">addSIdMap</a> (const <a class="el" href="a05376.html#a0">TSIdMap</a> &sIdMap)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea2">CLogicState</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea3">enterState</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea4">exitState</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea5">fillVarMap</a> (std::multimap< <a class="el" href="a02189.html">NLMISC::CEntityId</a>, std::string > &stateMachineVariables)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea6">getMessagesToSend</a> (std::multimap< <a class="el" href="a02189.html">NLMISC::CEntityId</a>, <a class="el" href="a02918.html">NLNET::CMessage</a> > &msgs)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea7">getName</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea8">processLogic</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea9">read</a> (xmlNodePtr node)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea10">setLogicStateMachine</a> (<a class="el" href="a02825.html">CLogicStateMachine</a> *logicStateMachine)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea11">setName</a> (std::string name)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea12">trySendEntryMessages</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea13">trySendEventMessages</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStatea14">write</a> (xmlNodePtr node) const </td></tr> + +<tr><td colspan=2><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< <a class="el" href="a02823.html">CLogicEventMessage</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStateo0">_EntryMessages</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">entry messages <a href="#NLLOGIC_1_1CLogicStateo0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< <a class="el" href="a02821.html">CLogicEvent</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">logic <a href="#NLLOGIC_1_1CLogicStateo1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< <a class="el" href="a02823.html">CLogicEventMessage</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStateo2">_ExitMessages</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">exit messages <a href="#NLLOGIC_1_1CLogicStateo2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02825.html">CLogicStateMachine</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStateo3">_LogicStateMachine</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">state machine containing this state <a href="#NLLOGIC_1_1CLogicStateo3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>std::multimap< <a class="el" href="a02189.html">NLMISC::CEntityId</a>,<br> + <a class="el" href="a02918.html">NLNET::CMessage</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStateo4">_MessagesToSend</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">messages to send by the service <a href="#NLLOGIC_1_1CLogicStateo4"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="a02824.html#NLLOGIC_1_1CLogicStateo5">_StateName</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">state name <a href="#NLLOGIC_1_1CLogicStateo5"></a><br><br></td></tr> +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea2" doxytag="NLLOGIC::CLogicState::CLogicState" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLLOGIC::CLogicState::CLogicState </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Default constructor +<p> +Definition at line <a class="el" href="a05952.html#l00042">42</a> of file <a class="el" href="a05952.html">logic_state.cpp</a>. +<p> +References <a class="el" href="a05953.html#l00061">_StateName</a>. +<p> +<div class="fragment"><pre>00043 { +00044 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo5">_StateName</a> = <span class="stringliteral">"no_state"</span>; +00045 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo3">_LogicStateMachine</a> = 0; +00046 +00047 } <span class="comment">// CLogicState //</span> +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea0" doxytag="NLLOGIC::CLogicState::addEvent" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicState::addEvent </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02821.html">CLogicEvent</a> </td> + <td class="mdname1" valign="top" nowrap> <em>event</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Add an event<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>event</em> </td><td>is the event to add</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a05952.html#l00081">81</a> of file <a class="el" href="a05952.html">logic_state.cpp</a>. +<p> +References <a class="el" href="a05948.html#l00175">NLLOGIC::CLogicEvent::setLogicStateMachine()</a>. +<p> +<div class="fragment"><pre>00082 { +00083 event.setLogicStateMachine( _LogicStateMachine ); +00084 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.push_back( event ); +00085 +00086 } <span class="comment">// addEvent //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea1" doxytag="NLLOGIC::CLogicState::addSIdMap" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicState::addSIdMap </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a05376.html#a0">TSIdMap</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>sIdMap</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Associate message destination name with sid<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>sIdMap</em> </td><td>is the map associating destination name with a destination id</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a05952.html#l00096">96</a> of file <a class="el" href="a05952.html">logic_state.cpp</a>. +<p> +References <a class="el" href="a05953.html#l00064">_EntryMessages</a>, <a class="el" href="a05953.html#l00067">_ExitMessages</a>, <a class="el" href="a05952.html#l00239">trySendEntryMessages()</a>, <a class="el" href="a05952.html#l00265">trySendEventMessages()</a>, and <a class="el" href="a05953.html#l00047">NLLOGIC::TSIdMap</a>. +<p> +<div class="fragment"><pre>00097 { +00098 vector<CLogicEventMessage>::iterator itMsg; +00099 +00101 <span class="keywordflow">for</span>( itMsg = <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo0">_EntryMessages</a>.begin(); itMsg != <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo0">_EntryMessages</a>.end(); ++itMsg ) +00102 { +00103 TSIdMap::const_iterator itId = sIdMap.find( (*itMsg).Destination ); +00104 <span class="comment">// if message destination exists in the map we associate the sid with the message</span> +00105 <span class="keywordflow">if</span>( itId != sIdMap.end() ) +00106 { +00107 (*itMsg).DestinationId = (*itId).second; +00108 } +00109 } +00111 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStatea12">trySendEntryMessages</a>(); +00112 +00113 +00114 <span class="comment">// event messages</span> +00115 vector<CLogicEvent>::iterator itEvt; +00116 <span class="keywordflow">for</span>( itEvt = <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.begin(); itEvt != <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.end(); ++itEvt ) +00117 { +00118 string dest = (*itEvt).EventAction.EventMessage.Destination; +00119 TSIdMap::const_iterator itId = sIdMap.find( dest ); +00120 <span class="comment">// if message destination exists in the map we associate the sid with the message</span> +00121 <span class="keywordflow">if</span>( itId != sIdMap.end() ) +00122 { +00123 (*itEvt).EventAction.EventMessage.DestinationId = (*itId).second; +00124 } +00125 } +00127 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStatea13">trySendEventMessages</a>(); +00128 +00129 +00131 <span class="keywordflow">for</span>( itMsg = <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo2">_ExitMessages</a>.begin(); itMsg != <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo2">_ExitMessages</a>.end(); ++itMsg ) +00132 { +00133 TSIdMap::const_iterator itId = sIdMap.find( (*itMsg).Destination ); +00134 <span class="comment">// if message destination exists in the map we associate the sid with the message</span> +00135 <span class="keywordflow">if</span>( itId != sIdMap.end() ) +00136 { +00137 (*itMsg).DestinationId = (*itId).second; +00138 } +00139 } +00140 +00141 } <span class="comment">// addSIdMap //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea3" doxytag="NLLOGIC::CLogicState::enterState" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicState::enterState </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +send the entry messages +<p> +Definition at line <a class="el" href="a05952.html#l00184">184</a> of file <a class="el" href="a05952.html">logic_state.cpp</a>. +<p> +References <a class="el" href="a05952.html#l00239">trySendEntryMessages()</a>. +<p> +<div class="fragment"><pre>00185 { +00187 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStatea12">trySendEntryMessages</a>(); +00188 +00189 } <span class="comment">// enterState //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea4" doxytag="NLLOGIC::CLogicState::exitState" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicState::exitState </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +send the exit messages +<p> +Definition at line <a class="el" href="a05952.html#l00196">196</a> of file <a class="el" href="a05952.html">logic_state.cpp</a>. +<p> +References <a class="el" href="a05953.html#l00064">_EntryMessages</a>, <a class="el" href="a05953.html#l00067">_ExitMessages</a>, <a class="el" href="a05953.html#l00076">_MessagesToSend</a>, and <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>. +<p> +<div class="fragment"><pre>00197 { +00198 vector<CLogicEventMessage>::iterator itMsg; +00199 <span class="keywordflow">for</span>( itMsg = <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo2">_ExitMessages</a>.begin(); itMsg != <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo2">_ExitMessages</a>.end(); ++itMsg ) +00200 { +00201 <span class="keywordflow">if</span>( (*itMsg).DestinationId != <a class="code" href="a02189.html">CEntityId</a>() ) +00202 { +00203 <a class="code" href="a02918.html">CMessage</a> msgOut( (*itMsg).MessageId ); +00204 msgOut.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a>( (*itMsg).Arguments ); +00205 +00206 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo4">_MessagesToSend</a>.insert( make_pair((*itMsg).DestinationId,msgOut) ); +00207 } +00208 } +00209 +00210 <span class="comment">// reset the entry messages send status</span> +00211 <span class="keywordflow">for</span>( itMsg = <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo0">_EntryMessages</a>.begin(); itMsg != <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo0">_EntryMessages</a>.end(); ++itMsg ) +00212 { +00213 (*itMsg).ToSend = <span class="keyword">false</span>; +00214 (*itMsg).Sent = <span class="keyword">false</span>; +00215 } +00216 +00217 <span class="comment">// reset all events</span> +00218 vector<CLogicEvent>::iterator itEvent; +00219 <span class="keywordflow">for</span>( itEvent = <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.begin(); itEvent != <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.end(); ++itEvent ) +00220 { +00221 (*itEvent).reset(); +00222 } +00223 +00224 <span class="comment">// reset the exit messages send status</span> +00225 <span class="keywordflow">for</span>( itMsg = <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo2">_ExitMessages</a>.begin(); itMsg != <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo2">_ExitMessages</a>.end(); ++itMsg ) +00226 { +00227 (*itMsg).ToSend = <span class="keyword">false</span>; +00228 (*itMsg).Sent = <span class="keyword">false</span>; +00229 } +00230 +00231 } <span class="comment">// exitState //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea5" doxytag="NLLOGIC::CLogicState::fillVarMap" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicState::fillVarMap </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">std::multimap< <a class="el" href="a02189.html">NLMISC::CEntityId</a>, std::string > & </td> + <td class="mdname1" valign="top" nowrap> <em>stateMachineVariables</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Fill a map associating all the referenced var in the state with the id of service managing them (debug purpose) +<p> +Definition at line <a class="el" href="a05952.html#l00315">315</a> of file <a class="el" href="a05952.html">logic_state.cpp</a>. +<p> +References <a class="el" href="a05646.html#l00405">condition</a>, and <a class="el" href="a05954.html#l00233">NLLOGIC::CLogicStateMachine::getCondition()</a>. +<p> +<div class="fragment"><pre>00316 { +00317 <span class="comment">// events</span> +00318 vector<CLogicEvent>::iterator itEvt; +00319 <span class="keywordflow">for</span>( itEvt = <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.begin(); itEvt != <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.end(); ++itEvt ) +00320 { +00321 <span class="comment">// get the condition used in the event</span> +00322 CLogicCondition <a class="code" href="a04223.html#a584">condition</a>; +00323 <span class="keywordflow">if</span>( <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo3">_LogicStateMachine</a>->getCondition((*itEvt).ConditionName,condition) ) +00324 { +00325 <span class="comment">// get vars used in the conditions</span> +00326 set<string> condVars; +00327 <a class="code" href="a04223.html#a584">condition</a>.fillVarSet( condVars ); +00328 +00329 <span class="comment">// add var with related service</span> +00330 set<string>::iterator itCV; +00331 <span class="keywordflow">for</span>( itCV = condVars.begin(); itCV != condVars.end(); ++itCV ) +00332 { +00333 stateMachineVariables.insert( make_pair((*itEvt).EventAction.EventMessage.DestinationId,*itCV) ); +00334 } +00335 } +00336 } +00337 +00338 } <span class="comment">// fillVarMap //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea6" doxytag="NLLOGIC::CLogicState::getMessagesToSend" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicState::getMessagesToSend </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">std::multimap< <a class="el" href="a02189.html">NLMISC::CEntityId</a>, <a class="el" href="a02918.html">NLNET::CMessage</a> > & </td> + <td class="mdname1" valign="top" nowrap> <em>msgs</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the messages to send<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>msgs</em> </td><td>is the map associating all the message to send with their destination id</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a05952.html#l00296">296</a> of file <a class="el" href="a05952.html">logic_state.cpp</a>. +<p> +References <a class="el" href="a05953.html#l00076">_MessagesToSend</a>. +<p> +<div class="fragment"><pre>00297 { +00298 multimap<CEntityId,CMessage>::iterator itMsg; +00299 <span class="keywordflow">for</span>( itMsg = <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo4">_MessagesToSend</a>.begin(); itMsg != <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo4">_MessagesToSend</a>.end(); ++itMsg ) +00300 { +00301 msgs.insert( *itMsg ); +00302 } +00303 +00304 <span class="comment">// erase all the messages</span> +00305 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo4">_MessagesToSend</a>.clear(); +00306 +00307 } <span class="comment">// getMessagesToSend //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea7" doxytag="NLLOGIC::CLogicState::getName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> std::string NLLOGIC::CLogicState::getName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get the state name<p> +<dl compact><dt><b>Returns:</b></dt><dd>the state's name</dd></dl> + +<p> +Definition at line <a class="el" href="a05953.html#l00104">104</a> of file <a class="el" href="a05953.html">logic_state.h</a>. +<p> +References <a class="el" href="a05953.html#l00061">_StateName</a>. +<p> +Referenced by <a class="el" href="a05954.html#l00137">NLLOGIC::CLogicStateMachine::addState()</a>. +<p> +<div class="fragment"><pre>00104 { <span class="keywordflow">return</span> <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo5">_StateName</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea8" doxytag="NLLOGIC::CLogicState::processLogic" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicState::processLogic </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Test the conditions of this state +<p> +Definition at line <a class="el" href="a05952.html#l00148">148</a> of file <a class="el" href="a05952.html">logic_state.cpp</a>. +<p> +References <a class="el" href="a05954.html#l00098">NLLOGIC::CLogicStateMachine::setCurrentState()</a>, and <a class="el" href="a05952.html#l00265">trySendEventMessages()</a>. +<p> +<div class="fragment"><pre>00149 { +00150 <span class="comment">// test all conditions managed by this state</span> +00151 vector<CLogicEvent>::iterator itEvent; +00152 <span class="keywordflow">for</span>( itEvent = <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.begin(); itEvent != <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.end(); ++itEvent ) +00153 { +00154 <span class="keywordflow">if</span>( (*itEvent).testCondition() ) +00155 { +00156 <span class="comment">//nlinfo("The condition %s is valid",(*itEvent).ConditionName.c_str());</span> +00157 <span class="keywordflow">if</span>( (*itEvent).EventAction.IsStateChange ) +00158 { +00159 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo3">_LogicStateMachine</a>->setCurrentState( (*itEvent).EventAction.StateChange ); +00160 } +00161 <span class="keywordflow">else</span> +00162 { +00163 <span class="comment">// this message will be sent as soon as the dest id will be given</span> +00164 (*itEvent).EventAction.enableSendMessage(); +00165 +00167 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStatea13">trySendEventMessages</a>(); +00168 } +00169 } +00170 <span class="keywordflow">else</span> +00171 { +00172 <span class="comment">// reset message send status here to be able to send messages several times in the logic state</span> +00173 <span class="comment">// --> this has to be done if we want messages to be sent every time the condition becomes verified</span> +00174 } +00175 } +00176 +00177 } <span class="comment">// processLogic //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea9" doxytag="NLLOGIC::CLogicState::read" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicState::read </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">xmlNodePtr </td> + <td class="mdname1" valign="top" nowrap> <em>node</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05952.html#l00379">379</a> of file <a class="el" href="a05952.html">logic_state.cpp</a>. +<p> +References <a class="el" href="a05953.html#l00064">_EntryMessages</a>, <a class="el" href="a05953.html#l00067">_ExitMessages</a>, <a class="el" href="a05953.html#l00061">_StateName</a>, <a class="el" href="a05954.html#l00072">NLLOGIC::getXMLProp()</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05646.html#l00237">v</a>, and <a class="el" href="a05954.html#l00042">NLLOGIC::xmlCheckNodeName()</a>. +<p> +<div class="fragment"><pre>00380 { +00381 <a class="code" href="a05376.html#a2">xmlCheckNodeName</a> (node, <span class="stringliteral">"STATE"</span>); +00382 +00383 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo5">_StateName</a> = <a class="code" href="a05376.html#a3">getXMLProp</a> (node, <span class="stringliteral">"Name"</span>); +00384 +00385 { +00386 <span class="comment">// Count the parent</span> +00387 <a class="code" href="a04558.html#a15">uint</a> nb = CIXml::countChildren (node, <span class="stringliteral">"ENTRY_EVENT_MESSAGE"</span>); +00388 <a class="code" href="a04558.html#a15">uint</a> i = 0; +00389 xmlNodePtr parent = CIXml::getFirstChildNode (node, <span class="stringliteral">"ENTRY_EVENT_MESSAGE"</span>); +00390 <span class="keywordflow">while</span> (i<nb) +00391 { +00392 CLogicEventMessage <a class="code" href="a04223.html#a576">v</a>; +00393 <a class="code" href="a04223.html#a576">v</a>.read(parent); +00394 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo0">_EntryMessages</a>.push_back(v); +00395 +00396 <span class="comment">// Next parent</span> +00397 parent = CIXml::getNextChildNode (parent, <span class="stringliteral">"ENTRY_EVENT_MESSAGE"</span>); +00398 i++; +00399 } +00400 } +00401 +00402 { +00403 <span class="comment">// Count the parent</span> +00404 <a class="code" href="a04558.html#a15">uint</a> nb = CIXml::countChildren (node, <span class="stringliteral">"EXIT_EVENT_MESSAGE"</span>); +00405 <a class="code" href="a04558.html#a15">uint</a> i = 0; +00406 xmlNodePtr parent = CIXml::getFirstChildNode (node, <span class="stringliteral">"EXIT_EVENT_MESSAGE"</span>); +00407 <span class="keywordflow">while</span> (i<nb) +00408 { +00409 CLogicEventMessage <a class="code" href="a04223.html#a576">v</a>; +00410 <a class="code" href="a04223.html#a576">v</a>.read(parent); +00411 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo2">_ExitMessages</a>.push_back(v); +00412 +00413 <span class="comment">// Next parent</span> +00414 parent = CIXml::getNextChildNode (parent, <span class="stringliteral">"EXIT_EVENT_MESSAGE"</span>); +00415 i++; +00416 } +00417 } +00418 +00419 { +00420 <span class="comment">// Count the parent</span> +00421 <a class="code" href="a04558.html#a15">uint</a> nb = CIXml::countChildren (node, <span class="stringliteral">"EVENT"</span>); +00422 <a class="code" href="a04558.html#a15">uint</a> i = 0; +00423 xmlNodePtr parent = CIXml::getFirstChildNode (node, <span class="stringliteral">"EVENT"</span>); +00424 <span class="keywordflow">while</span> (i<nb) +00425 { +00426 CLogicEvent <a class="code" href="a04223.html#a576">v</a>; +00427 <a class="code" href="a04223.html#a576">v</a>.read(parent); +00428 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.push_back(v); +00429 +00430 <span class="comment">// Next parent</span> +00431 parent = CIXml::getNextChildNode (parent, <span class="stringliteral">"EVENT"</span>); +00432 i++; +00433 } +00434 } +00435 +00436 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea10" doxytag="NLLOGIC::CLogicState::setLogicStateMachine" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicState::setLogicStateMachine </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02825.html">CLogicStateMachine</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>logicStateMachine</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the state machine which contains this state<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>logicStateMachine</em> </td><td>is the state machine containing this block</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a05952.html#l00054">54</a> of file <a class="el" href="a05952.html">logic_state.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00135">nlwarning</a>. +<p> +Referenced by <a class="el" href="a05954.html#l00137">NLLOGIC::CLogicStateMachine::addState()</a>. +<p> +<div class="fragment"><pre>00055 { +00056 <span class="keywordflow">if</span>( logicStateMachine == 0 ) +00057 { +00058 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"(LOGIC)<CLogicCondition::setLogicStateMachine> The state machine is null"</span>); +00059 } +00060 <span class="keywordflow">else</span> +00061 { +00062 <span class="comment">// init the logic state machine for this state</span> +00063 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo3">_LogicStateMachine</a> = logicStateMachine; +00064 +00065 <span class="comment">// init the logic state machine in each event</span> +00066 vector<CLogicEvent>::iterator itEvent; +00067 <span class="keywordflow">for</span>( itEvent = <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.begin(); itEvent != <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.end(); ++itEvent ) +00068 { +00069 (*itEvent).setLogicStateMachine( logicStateMachine ); +00070 } +00071 } +00072 +00073 } <span class="comment">// setLogicStateMachine //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea11" doxytag="NLLOGIC::CLogicState::setName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicState::setName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">std::string </td> + <td class="mdname1" valign="top" nowrap> <em>name</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +set the state name<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>name</em> </td><td>is the new state's name</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a05953.html#l00097">97</a> of file <a class="el" href="a05953.html">logic_state.h</a>. +<p> +References <a class="el" href="a05953.html#l00061">_StateName</a>. +<p> +<div class="fragment"><pre>00097 { <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo5">_StateName</a> = name; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea12" doxytag="NLLOGIC::CLogicState::trySendEntryMessages" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicState::trySendEntryMessages </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Try to send the entry messages +<p> +Definition at line <a class="el" href="a05952.html#l00239">239</a> of file <a class="el" href="a05952.html">logic_state.cpp</a>. +<p> +References <a class="el" href="a05953.html#l00064">_EntryMessages</a>, <a class="el" href="a05953.html#l00076">_MessagesToSend</a>, and <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>. +<p> +Referenced by <a class="el" href="a05952.html#l00096">addSIdMap()</a>, and <a class="el" href="a05952.html#l00184">enterState()</a>. +<p> +<div class="fragment"><pre>00240 { +00242 vector<CLogicEventMessage>::iterator itMsg; +00243 <span class="keywordflow">for</span>( itMsg = <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo0">_EntryMessages</a>.begin(); itMsg != <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo0">_EntryMessages</a>.end(); ++itMsg ) +00244 { +00245 <span class="keywordflow">if</span>( !(*itMsg).Sent && (*itMsg).DestinationId.getType() != 0xfe ) +00246 { +00247 <a class="code" href="a02918.html">CMessage</a> msgOut( (*itMsg).MessageId ); +00248 msgOut.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a>( (*itMsg).Arguments ); +00249 +00250 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo4">_MessagesToSend</a>.insert( make_pair((*itMsg).DestinationId,msgOut) ); +00251 +00252 (*itMsg).ToSend = <span class="keyword">false</span>; +00253 (*itMsg).Sent = <span class="keyword">true</span>; +00254 } +00255 } +00256 +00257 } <span class="comment">// trySendEntryMessages //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea13" doxytag="NLLOGIC::CLogicState::trySendEventMessages" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicState::trySendEventMessages </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Try to send the event messages +<p> +Definition at line <a class="el" href="a05952.html#l00265">265</a> of file <a class="el" href="a05952.html">logic_state.cpp</a>. +<p> +References <a class="el" href="a05953.html#l00076">_MessagesToSend</a>, and <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>. +<p> +Referenced by <a class="el" href="a05952.html#l00096">addSIdMap()</a>, and <a class="el" href="a05952.html#l00148">processLogic()</a>. +<p> +<div class="fragment"><pre>00266 { +00267 <span class="comment">// test all conditions managed by this state</span> +00268 vector<CLogicEvent>::iterator itEvent; +00269 <span class="keywordflow">for</span>( itEvent = <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.begin(); itEvent != <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.end(); ++itEvent ) +00270 { +00271 <span class="keywordflow">if</span>( (*itEvent).EventAction.EventMessage.ToSend == <span class="keyword">true</span> ) +00272 { +00273 <span class="keywordflow">if</span>( (*itEvent).EventAction.EventMessage.Sent == <span class="keyword">false</span> ) +00274 { +00275 <span class="keywordflow">if</span>( (*itEvent).EventAction.EventMessage.DestinationId.getType() != 0xfe ) +00276 { +00277 <a class="code" href="a02918.html">CMessage</a> msgOut( (*itEvent).EventAction.EventMessage.MessageId ); +00278 msgOut.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a>( (*itEvent).EventAction.EventMessage.Arguments ); +00279 +00280 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo4">_MessagesToSend</a>.insert( make_pair((*itEvent).EventAction.EventMessage.DestinationId,msgOut) ); +00281 +00282 (*itEvent).EventAction.EventMessage.ToSend = <span class="keyword">false</span>; +00283 (*itEvent).EventAction.EventMessage.Sent = <span class="keyword">true</span>; +00284 } +00285 } +00286 } +00287 } +00288 +00289 } <span class="comment">// trySendEventMessages //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStatea14" doxytag="NLLOGIC::CLogicState::write" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicState::write </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">xmlNodePtr </td> + <td class="mdname1" valign="top" nowrap> <em>node</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +serial +<p> +Definition at line <a class="el" href="a05952.html#l00359">359</a> of file <a class="el" href="a05952.html">logic_state.cpp</a>. +<p> +References <a class="el" href="a05953.html#l00064">_EntryMessages</a>, <a class="el" href="a05953.html#l00067">_ExitMessages</a>, <a class="el" href="a05953.html#l00061">_StateName</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00360 { +00361 xmlNodePtr elmPtr = xmlNewChild ( node, NULL, (<span class="keyword">const</span> xmlChar*)<span class="stringliteral">"STATE"</span>, NULL); +00362 xmlSetProp (elmPtr, (<span class="keyword">const</span> xmlChar*)<span class="stringliteral">"Name"</span>, (<span class="keyword">const</span> xmlChar*)<a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo5">_StateName</a>.c_str()); +00363 +00364 <a class="code" href="a04558.html#a15">uint</a> i; +00365 <span class="keywordflow">for</span> (i = 0; i < <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo0">_EntryMessages</a>.size(); i++) +00366 { +00367 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo0">_EntryMessages</a>[i].write(elmPtr, <span class="stringliteral">"ENTRY_"</span>); +00368 } +00369 <span class="keywordflow">for</span> (i = 0; i < <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo2">_ExitMessages</a>.size(); i++) +00370 { +00371 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo2">_ExitMessages</a>[i].write(elmPtr, <span class="stringliteral">"EXIT_"</span>); +00372 } +00373 <span class="keywordflow">for</span> (i = 0; i < <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>.size(); i++) +00374 { +00375 <a class="code" href="a02824.html#NLLOGIC_1_1CLogicStateo1">_Events</a>[i].write(elmPtr); +00376 } +00377 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NLLOGIC_1_1CLogicStateo0" doxytag="NLLOGIC::CLogicState::_EntryMessages" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> std::vector<<a class="el" href="a02823.html">CLogicEventMessage</a>> <a class="el" href="a02824.html#NLLOGIC_1_1CLogicStateo0">NLLOGIC::CLogicState::_EntryMessages</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +entry messages +<p> + +<p> +Definition at line <a class="el" href="a05953.html#l00064">64</a> of file <a class="el" href="a05953.html">logic_state.h</a>. +<p> +Referenced by <a class="el" href="a05952.html#l00096">addSIdMap()</a>, <a class="el" href="a05952.html#l00196">exitState()</a>, <a class="el" href="a05952.html#l00379">read()</a>, <a class="el" href="a05952.html#l00239">trySendEntryMessages()</a>, and <a class="el" href="a05952.html#l00359">write()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStateo1" doxytag="NLLOGIC::CLogicState::_Events" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> std::vector<<a class="el" href="a02821.html">CLogicEvent</a>> <a class="el" href="a02824.html#NLLOGIC_1_1CLogicStateo1">NLLOGIC::CLogicState::_Events</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +logic +<p> + +<p> +Definition at line <a class="el" href="a05953.html#l00070">70</a> of file <a class="el" href="a05953.html">logic_state.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStateo2" doxytag="NLLOGIC::CLogicState::_ExitMessages" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> std::vector<<a class="el" href="a02823.html">CLogicEventMessage</a>> <a class="el" href="a02824.html#NLLOGIC_1_1CLogicStateo2">NLLOGIC::CLogicState::_ExitMessages</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +exit messages +<p> + +<p> +Definition at line <a class="el" href="a05953.html#l00067">67</a> of file <a class="el" href="a05953.html">logic_state.h</a>. +<p> +Referenced by <a class="el" href="a05952.html#l00096">addSIdMap()</a>, <a class="el" href="a05952.html#l00196">exitState()</a>, <a class="el" href="a05952.html#l00379">read()</a>, and <a class="el" href="a05952.html#l00359">write()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStateo3" doxytag="NLLOGIC::CLogicState::_LogicStateMachine" ></a><p> +<table class="mdTable" width="100%" 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="a02825.html">CLogicStateMachine</a>* <a class="el" href="a02824.html#NLLOGIC_1_1CLogicStateo3">NLLOGIC::CLogicState::_LogicStateMachine</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +state machine containing this state +<p> + +<p> +Definition at line <a class="el" href="a05953.html#l00073">73</a> of file <a class="el" href="a05953.html">logic_state.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStateo4" doxytag="NLLOGIC::CLogicState::_MessagesToSend" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> std::multimap<<a class="el" href="a02189.html">NLMISC::CEntityId</a>, <a class="el" href="a02918.html">NLNET::CMessage</a>> <a class="el" href="a02824.html#NLLOGIC_1_1CLogicStateo4">NLLOGIC::CLogicState::_MessagesToSend</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +messages to send by the service +<p> + +<p> +Definition at line <a class="el" href="a05953.html#l00076">76</a> of file <a class="el" href="a05953.html">logic_state.h</a>. +<p> +Referenced by <a class="el" href="a05952.html#l00196">exitState()</a>, <a class="el" href="a05952.html#l00296">getMessagesToSend()</a>, <a class="el" href="a05952.html#l00239">trySendEntryMessages()</a>, and <a class="el" href="a05952.html#l00265">trySendEventMessages()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicStateo5" doxytag="NLLOGIC::CLogicState::_StateName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> std::string <a class="el" href="a02824.html#NLLOGIC_1_1CLogicStateo5">NLLOGIC::CLogicState::_StateName</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +state name +<p> + +<p> +Definition at line <a class="el" href="a05953.html#l00061">61</a> of file <a class="el" href="a05953.html">logic_state.h</a>. +<p> +Referenced by <a class="el" href="a05952.html#l00042">CLogicState()</a>, <a class="el" href="a05953.html#l00104">getName()</a>, <a class="el" href="a05952.html#l00379">read()</a>, <a class="el" href="a05953.html#l00097">setName()</a>, and <a class="el" href="a05952.html#l00359">write()</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a05953.html">logic_state.h</a><li><a class="el" href="a05952.html">logic_state.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 12:54:18 2004 for NeL by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.6 </small></address> +</body> +</html> |