aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02825.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/a02825.html1599
1 files changed, 1599 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02825.html b/docs/doxygen/nel/a02825.html
new file mode 100644
index 00000000..060c978c
--- /dev/null
+++ b/docs/doxygen/nel/a02825.html
@@ -0,0 +1,1599 @@
+<!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::CLogicStateMachine 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&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</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">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NLLOGIC::CLogicStateMachine Class Reference</h1><code>#include &lt;<a class="el" href="a05955.html">logic_state_machine.h</a>&gt;</code>
+<p>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<a class="el" href="a02825.html">CLogicStateMachine</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="a05955.html#l00056">56</a> of file <a class="el" href="a05955.html">logic_state_machine.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&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea0">addCondition</a> (<a class="el" href="a02816.html">CLogicCondition</a> <a class="el" href="a04223.html#a584">condition</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea1">addCounter</a> (<a class="el" href="a02819.html">CLogicCounter</a> counter)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea2">addSIdMap</a> (const <a class="el" href="a05376.html#a0">TSIdMap</a> &amp;sIdMap)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea3">addState</a> (<a class="el" href="a02824.html">CLogicState</a> logicState)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea4">addVariable</a> (<a class="el" href="a02820.html">CLogicVariable</a> var)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea5">CLogicStateMachine</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea6">displayStates</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea7">displayVariables</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea8">getCondition</a> (const std::string &amp;condName, <a class="el" href="a02816.html">CLogicCondition</a> &amp;cond)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const std::map&lt; std::string,<br>
+ <a class="el" href="a02816.html">CLogicCondition</a> &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea9">getConditions</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const std::map&lt; std::string,<br>
+ <a class="el" href="a02819.html">CLogicCounter</a> &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea10">getCounters</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea11">getMessagesToSend</a> (std::multimap&lt; <a class="el" href="a02189.html">NLMISC::CEntityId</a>, <a class="el" href="a02918.html">NLNET::CMessage</a> &gt; &amp;msgs)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea12">getName</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea13">getSelfAddressedMessages</a> (std::list&lt; <a class="el" href="a02918.html">NLNET::CMessage</a> &gt; &amp;msgs)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const std::map&lt; std::string,<br>
+ <a class="el" href="a02824.html">CLogicState</a> &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea14">getStates</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea15">getVariable</a> (std::string &amp;varName, <a class="el" href="a02820.html">CLogicVariable</a> &amp;var)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const std::map&lt; std::string,<br>
+ <a class="el" href="a02820.html">CLogicVariable</a> &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea16">getVariables</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea17">modifyVariable</a> (std::string varName, std::string modifOperator, <a class="el" href="a04558.html#a12">sint64</a> <a class="el" href="a04223.html#a658">value</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea18">processLogic</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea19">read</a> (xmlNodePtr node)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea20">setCurrentState</a> (std::string stateName)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea21">setName</a> (const std::string &amp;name)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea22">setVerbose</a> (std::string varName, bool b)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea23">write</a> (xmlDocPtr doc) const </td></tr>
+
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::map&lt; std::string, <a class="el" href="a02816.html">CLogicCondition</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner0">_Conditions</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">conditions used in this state machine <a href="#NLLOGIC_1_1CLogicStateMachiner0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::map&lt; std::string, <a class="el" href="a02819.html">CLogicCounter</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">counters <a href="#NLLOGIC_1_1CLogicStateMachiner1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner2">_CurrentState</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">name of the current state <a href="#NLLOGIC_1_1CLogicStateMachiner2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner3">_Name</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">name of this sate machine <a href="#NLLOGIC_1_1CLogicStateMachiner3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::map&lt; std::string, <a class="el" href="a02824.html">CLogicState</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">states <a href="#NLLOGIC_1_1CLogicStateMachiner4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::map&lt; std::string, <a class="el" href="a02820.html">CLogicVariable</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">variables <a href="#NLLOGIC_1_1CLogicStateMachiner5"></a><br><br></td></tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea5" doxytag="NLLOGIC::CLogicStateMachine::CLogicStateMachine" ></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::CLogicStateMachine::CLogicStateMachine </td>
+ <td class="md" valign="top">(&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>
+Default constructor
+<p>
+Definition at line <a class="el" href="a05955.html#l00087">87</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>.
+<p>
+<div class="fragment"><pre>00087 { <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner3">_Name</a> = <span class="stringliteral">"no_name"</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea0" doxytag="NLLOGIC::CLogicStateMachine::addCondition" ></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::CLogicStateMachine::addCondition </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02816.html">CLogicCondition</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>condition</em> </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>
+Add a condition in the state machine<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>condition</em>&nbsp;</td><td>is the new condition to add in this state machine</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05954.html#l00124">124</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+References <a class="el" href="a05955.html#l00065">_Conditions</a>, and <a class="el" href="a05646.html#l00405">condition</a>.
+<p>
+<div class="fragment"><pre>00125 {
+00126 <a class="code" href="a04223.html#a584">condition</a>.setLogicStateMachine(<span class="keyword">this</span>);
+00127 <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner0">_Conditions</a>.insert(make_pair(<a class="code" href="a04223.html#a584">condition</a>.getName(),<a class="code" href="a04223.html#a584">condition</a>));
+00128
+00129 } <span class="comment">// addCondition //</span>
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea1" doxytag="NLLOGIC::CLogicStateMachine::addCounter" ></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::CLogicStateMachine::addCounter </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02819.html">CLogicCounter</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>counter</em> </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>
+Add a counter in the state machine<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>counter</em>&nbsp;</td><td>is the new counter to add in this state machine</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00150">150</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>.
+<p>
+References <a class="el" href="a05955.html#l00062">_Counters</a>, and <a class="el" href="a05957.html#l00076">NLLOGIC::CLogicVariable::getName()</a>.
+<p>
+<div class="fragment"><pre>00150 { <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.insert( std::make_pair(counter.getName(),counter) ); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea2" doxytag="NLLOGIC::CLogicStateMachine::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::CLogicStateMachine::addSIdMap </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a05376.html#a0">TSIdMap</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>sIdMap</em> </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>
+call the <a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea2">addSIdMap()</a> method for each sate machines<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>sIdMap</em>&nbsp;</td><td>is the map associating destination name with a destination id</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05954.html#l00151">151</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+References <a class="el" href="a05953.html#l00047">NLLOGIC::TSIdMap</a>.
+<p>
+<div class="fragment"><pre>00152 {
+00153 <span class="comment">// call addSIdMap for each state</span>
+00154 map&lt;string,CLogicState&gt;::iterator itStates;
+00155 <span class="keywordflow">for</span>( itStates = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.begin(); itStates != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.end(); ++itStates )
+00156 {
+00157 (*itStates).second.addSIdMap( sIdMap );
+00158 }
+00159
+00160 } <span class="comment">// addSIdMap //</span>
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea3" doxytag="NLLOGIC::CLogicStateMachine::addState" ></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::CLogicStateMachine::addState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02824.html">CLogicState</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>logicState</em> </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>
+Add a state to the state machine<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>state</em>&nbsp;</td><td>is the new state to add in this state machine</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05954.html#l00137">137</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+References <a class="el" href="a05953.html#l00104">NLLOGIC::CLogicState::getName()</a>, and <a class="el" href="a05952.html#l00054">NLLOGIC::CLogicState::setLogicStateMachine()</a>.
+<p>
+<div class="fragment"><pre>00138 {
+00139 logicState.setLogicStateMachine( <span class="keyword">this</span> );
+00140 <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.insert( std::make_pair(logicState.getName(),logicState) );
+00141
+00142 } <span class="comment">// addState //</span>
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea4" doxytag="NLLOGIC::CLogicStateMachine::addVariable" ></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::CLogicStateMachine::addVariable </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02820.html">CLogicVariable</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>var</em> </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>
+Add a variable in the state machine<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>var</em>&nbsp;</td><td>is the new variable to add in this state machine</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00134">134</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>.
+<p>
+References <a class="el" href="a05955.html#l00059">_Variables</a>, and <a class="el" href="a05957.html#l00076">NLLOGIC::CLogicVariable::getName()</a>.
+<p>
+<div class="fragment"><pre>00134 { <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.insert( std::make_pair(var.getName(),var) ); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea6" doxytag="NLLOGIC::CLogicStateMachine::displayStates" ></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::CLogicStateMachine::displayStates </td>
+ <td class="md" valign="top">(&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>
+Display the states
+<p>
+Definition at line <a class="el" href="a05954.html#l00381">381</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00111">nlinfo</a>.
+<p>
+<div class="fragment"><pre>00382 {
+00383 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"There are %d STATES in the state machine \"%s\": "</span>,<a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.size(),<a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner3">_Name</a>.c_str());
+00384 map&lt;string, CLogicState&gt;::const_iterator itS;
+00385 <span class="keywordflow">for</span>( itS = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.begin(); itS != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.end(); ++itS )
+00386 {
+00387 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"%s"</span>,(*itS).first.c_str());
+00388 }
+00389 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"The current state is : \"%s\""</span>,<a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner2">_CurrentState</a>.c_str());
+00390
+00391 } <span class="comment">// displayStates //</span>
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea7" doxytag="NLLOGIC::CLogicStateMachine::displayVariables" ></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::CLogicStateMachine::displayVariables </td>
+ <td class="md" valign="top">(&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>
+Display the variables
+<p>
+Definition at line <a class="el" href="a05954.html#l00316">316</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+References <a class="el" href="a05955.html#l00059">_Variables</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05673.html#l00251">NLMISC::CEntityId::setCreatorId()</a>, <a class="el" href="a05673.html#l00239">NLMISC::CEntityId::setDynamicId()</a>, <a class="el" href="a05673.html#l00263">NLMISC::CEntityId::setType()</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>00317 {
+00318 multimap&lt;CEntityId,string&gt; allVariables;
+00319
+00320 <span class="comment">// // get vars referenced in the states</span>
+00321 map&lt;string, CLogicState&gt;::iterator itS;
+00322 <span class="keywordflow">for</span>( itS = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.begin(); itS != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.end(); ++itS )
+00323 {
+00324 (*itS).second.fillVarMap( allVariables );
+00325 }
+00326
+00327 <span class="comment">// extract the unclaimed variables from all the variables</span>
+00328 vector&lt;string&gt; unclaimedVariables;
+00329 <a class="code" href="a02189.html">CEntityId</a> unknown;
+00330 unknown.<a class="code" href="a02189.html#NLAIAGENT_1_1CIdenta29">setType</a>( 0xfe );
+00331 unknown.<a class="code" href="a02189.html#NLAIAGENT_1_1CIdenta26">setCreatorId</a>( 0 );
+00332 unknown.<a class="code" href="a02189.html#NLAIAGENT_1_1CIdenta27">setDynamicId</a>( 0 );
+00333 pair&lt;multimap&lt;CEntityId,string&gt;::iterator,multimap&lt;CEntityId,string&gt;::iterator&gt; itVarsRng = allVariables.equal_range(unknown);
+00334 multimap&lt;CEntityId,string&gt;::iterator itVars;
+00335
+00336 <span class="keywordflow">for</span>( itVars = itVarsRng.first; itVars != itVarsRng.second; )
+00337 {
+00338 multimap&lt;CEntityId,string&gt;::iterator itDel = itVars++;
+00339 unclaimedVariables.push_back( (*itDel).second );
+00340 allVariables.erase( itDel );
+00341 }
+00342 <span class="comment">/*</span>
+00343 <span class="comment"> if( itVarsRng.first != allVariables.end() )</span>
+00344 <span class="comment"> {</span>
+00345 <span class="comment"> itVars = itVarsRng.first;</span>
+00346 <span class="comment"> do</span>
+00347 <span class="comment"> {</span>
+00348 <span class="comment"> multimap&lt;CEntityId,string&gt;::iterator itDel = itVars++;</span>
+00349 <span class="comment"> unclaimedVariables.push_back( (*itDel).second );</span>
+00350 <span class="comment"> allVariables.erase( itDel );</span>
+00351 <span class="comment"> }</span>
+00352 <span class="comment"> while( itVars != itVarsRng.second );</span>
+00353 <span class="comment"> }</span>
+00354 <span class="comment"> */</span>
+00355
+00356
+00357 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"VARIABLES/COUNTERS in %s : %d/%d are registered : "</span>,<a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner3">_Name</a>.c_str(),allVariables.size(),allVariables.size()+unclaimedVariables.size());
+00358 <span class="comment">// display the registered variables</span>
+00359 <span class="keywordflow">for</span>( itVars = allVariables.begin(); itVars != allVariables.end(); ++itVars )
+00360 {
+00361 map&lt;string, CLogicVariable&gt;::const_iterator itV = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.find( (*itVars).second );
+00362 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"[%d] %s = %f"</span>,(<a class="code" href="a04558.html#a7">uint8</a>)(*itVars).first.getDynamicId(),(*itV).first.c_str(),(<span class="keywordtype">double</span>)(*itV).second.getValue());
+00363 }
+00364
+00365 <span class="comment">// display the unclaimed variables</span>
+00366 sort( unclaimedVariables.begin(), unclaimedVariables.end() );
+00367 vector&lt;string&gt;::iterator itUV;
+00368 <span class="keywordflow">for</span>( itUV = unclaimedVariables.begin(); itUV != unclaimedVariables.end(); ++itUV )
+00369 {
+00370 map&lt;string, CLogicVariable&gt;::const_iterator itV = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.find( *itUV );
+00371 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"(-)%s = %f"</span>,(*itV).first.c_str(),(<span class="keywordtype">double</span>)(*itV).second.getValue());
+00372 }
+00373
+00374 } <span class="comment">// displayVariables //</span>
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea8" doxytag="NLLOGIC::CLogicStateMachine::getCondition" ></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"> bool NLLOGIC::CLogicStateMachine::getCondition </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>condName</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02816.html">CLogicCondition</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>cond</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the condition<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>condName</em>&nbsp;</td><td>is the name of the condition to get </td></tr>
+ <tr><td valign=top><em>cond</em>&nbsp;</td><td>is the condition to get </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>true if the condition has been found, false if not</dd></dl>
+
+<p>
+Definition at line <a class="el" href="a05954.html#l00233">233</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+References <a class="el" href="a05955.html#l00065">_Conditions</a>.
+<p>
+Referenced by <a class="el" href="a05952.html#l00315">NLLOGIC::CLogicState::fillVarMap()</a>, <a class="el" href="a05946.html#l00193">NLLOGIC::CLogicConditionLogicBlock::fillVarSet()</a>, <a class="el" href="a05948.html#l00195">NLLOGIC::CLogicEvent::testCondition()</a>, and <a class="el" href="a05946.html#l00148">NLLOGIC::CLogicConditionLogicBlock::testLogic()</a>.
+<p>
+<div class="fragment"><pre>00234 {
+00235 map&lt;string,CLogicCondition&gt;::iterator itCond = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner0">_Conditions</a>.find( condName );
+00236 <span class="keywordflow">if</span>( itCond != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner0">_Conditions</a>.end() )
+00237 {
+00238 cond = (*itCond).second;
+00239 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00240 }
+00241 <span class="keywordflow">else</span>
+00242 {
+00243 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00244 }
+00245
+00246 } <span class="comment">// getCondition //</span>
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea9" doxytag="NLLOGIC::CLogicStateMachine::getConditions" ></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"> const std::map&lt;std::string, <a class="el" href="a02816.html">CLogicCondition</a>&gt;&amp; NLLOGIC::CLogicStateMachine::getConditions </td>
+ <td class="md" valign="top">(&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>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00080">80</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>.
+<p>
+References <a class="el" href="a05955.html#l00065">_Conditions</a>.
+<p>
+<div class="fragment"><pre>00080 { <span class="keywordflow">return</span> <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner0">_Conditions</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea10" doxytag="NLLOGIC::CLogicStateMachine::getCounters" ></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"> const std::map&lt;std::string, <a class="el" href="a02819.html">CLogicCounter</a>&gt;&amp; NLLOGIC::CLogicStateMachine::getCounters </td>
+ <td class="md" valign="top">(&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>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00079">79</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>.
+<p>
+References <a class="el" href="a05955.html#l00062">_Counters</a>.
+<p>
+<div class="fragment"><pre>00079 { <span class="keywordflow">return</span> <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea11" doxytag="NLLOGIC::CLogicStateMachine::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::CLogicStateMachine::getMessagesToSend </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::multimap&lt; <a class="el" href="a02189.html">NLMISC::CEntityId</a>, <a class="el" href="a02918.html">NLNET::CMessage</a> &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>msgs</em> </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>
+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>&nbsp;</td><td>is the list used to store the messages to send</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05954.html#l00190">190</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+<div class="fragment"><pre>00191 {
+00192 map&lt;std::string, CLogicState&gt;::iterator itState;
+00193 <span class="keywordflow">for</span>( itState = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.begin(); itState != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.end(); ++itState )
+00194 {
+00195 (*itState).second.getMessagesToSend( msgs );
+00196 }
+00197
+00198 } <span class="comment">// getMessagesToSend //</span>
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea12" doxytag="NLLOGIC::CLogicStateMachine::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::CLogicStateMachine::getName </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> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the state machine name<p>
+<dl compact><dt><b>Returns:</b></dt><dd>the name of this state machine</dd></dl>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00101">101</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>.
+<p>
+Referenced by <a class="el" href="a05946.html#l00148">NLLOGIC::CLogicConditionLogicBlock::testLogic()</a>.
+<p>
+<div class="fragment"><pre>00101 { <span class="keywordflow">return</span> <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner3">_Name</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea13" doxytag="NLLOGIC::CLogicStateMachine::getSelfAddressedMessages" ></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::CLogicStateMachine::getSelfAddressedMessages </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::list&lt; <a class="el" href="a02918.html">NLNET::CMessage</a> &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>msgs</em> </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>
+Get the self-addressed message<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>msgs</em>&nbsp;</td><td>is the list used to store the self-addressed messages</td></tr>
+ </table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea14" doxytag="NLLOGIC::CLogicStateMachine::getStates" ></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"> const std::map&lt;std::string, <a class="el" href="a02824.html">CLogicState</a>&gt;&amp; NLLOGIC::CLogicStateMachine::getStates </td>
+ <td class="md" valign="top">(&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>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00081">81</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>.
+<p>
+<div class="fragment"><pre>00081 { <span class="keywordflow">return</span> <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea15" doxytag="NLLOGIC::CLogicStateMachine::getVariable" ></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"> bool NLLOGIC::CLogicStateMachine::getVariable </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>varName</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02820.html">CLogicVariable</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>var</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the variable<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>varName</em>&nbsp;</td><td>is the name of the variable to get </td></tr>
+ <tr><td valign=top><em>var</em>&nbsp;</td><td>is the variable to get </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>true if the variable has been found, false if not</dd></dl>
+
+<p>
+Definition at line <a class="el" href="a05954.html#l00207">207</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+References <a class="el" href="a05955.html#l00062">_Counters</a>, and <a class="el" href="a05955.html#l00059">_Variables</a>.
+<p>
+Referenced by <a class="el" href="a05946.html#l00061">NLLOGIC::CLogicComparisonBlock::testLogic()</a>.
+<p>
+<div class="fragment"><pre>00208 {
+00209 map&lt;string,CLogicVariable&gt;::iterator itVar = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.find( varName );
+00210 <span class="keywordflow">if</span>( itVar != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.end() )
+00211 {
+00212 var = (*itVar).second;
+00213 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00214 }
+00215
+00216 map&lt;string,CLogicCounter&gt;::iterator itCount = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.find( varName );
+00217 <span class="keywordflow">if</span>( itCount != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.end() )
+00218 {
+00219 var = (*itCount).second;
+00220 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00221 }
+00222
+00223 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00224
+00225 } <span class="comment">// getVariable //</span>
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea16" doxytag="NLLOGIC::CLogicStateMachine::getVariables" ></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"> const std::map&lt;std::string, <a class="el" href="a02820.html">CLogicVariable</a>&gt;&amp; NLLOGIC::CLogicStateMachine::getVariables </td>
+ <td class="md" valign="top">(&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>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00078">78</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>.
+<p>
+References <a class="el" href="a05955.html#l00059">_Variables</a>.
+<p>
+<div class="fragment"><pre>00078 { <span class="keywordflow">return</span> <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea17" doxytag="NLLOGIC::CLogicStateMachine::modifyVariable" ></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::CLogicStateMachine::modifyVariable </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string&nbsp;</td>
+ <td class="mdname" nowrap> <em>varName</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::string&nbsp;</td>
+ <td class="mdname" nowrap> <em>modifOperator</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a12">sint64</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>value</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+modify a variable<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>varName</em>&nbsp;</td><td>is the name of the variable to modify </td></tr>
+ <tr><td valign=top><em>modifOperator</em>&nbsp;</td><td>can be one of these operators :"SET"("set"),"ADD"("add"),"SUB"("sub"),"MUL"("mul"),"DIV"("div") </td></tr>
+ <tr><td valign=top><em>value</em>&nbsp;</td><td>is the value to use along with the modificator</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05954.html#l00253">253</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+References <a class="el" href="a05955.html#l00062">_Counters</a>, <a class="el" href="a05955.html#l00059">_Variables</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05981.html#l00101">sint64</a>, and <a class="el" href="a05646.html#l01132">value</a>.
+<p>
+<div class="fragment"><pre>00254 {
+00255 map&lt;string,CLogicVariable&gt;::iterator itVar = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.find( varName );
+00256 <span class="keywordflow">if</span>( itVar != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.end() )
+00257 {
+00258 (*itVar).second.applyModification( modifOperator, value );
+00259 <span class="keywordflow">return</span>;
+00260 }
+00261 map&lt;string,CLogicCounter&gt;::iterator itCount = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.find( varName );
+00262 <span class="keywordflow">if</span>( itCount != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.end() )
+00263 {
+00264 (*itCount).second.applyModification( modifOperator, value );
+00265 <span class="keywordflow">return</span>;
+00266 }
+00267
+00268 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"(LOGIC)&lt;CLogicStateMachine::modifyVariable&gt; The variable \"%s\" is not in the state machine \"%s\""</span>,varName.c_str(),<a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner3">_Name</a>.c_str());
+00269
+00270 } <span class="comment">// modifyVariable //</span>
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea18" doxytag="NLLOGIC::CLogicStateMachine::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::CLogicStateMachine::processLogic </td>
+ <td class="md" valign="top">(&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>
+call the processLogic method for each sate machines
+<p>
+Definition at line <a class="el" href="a05954.html#l00168">168</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+References <a class="el" href="a05955.html#l00062">_Counters</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+<div class="fragment"><pre>00169 {
+00170 <span class="comment">// call processLogic for the current state</span>
+00171 map&lt;string,CLogicState&gt;::iterator itStates = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.find( _CurrentState );
+00172 <a class="code" href="a04199.html#a6">nlassert</a>( itStates != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.end() );
+00173 (*itStates).second.processLogic();
+00174
+00175 <span class="comment">// update the counters</span>
+00176 map&lt;string,CLogicCounter&gt;::iterator itCount;
+00177 <span class="keywordflow">for</span>( itCount = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.begin(); itCount != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.end(); ++itCount )
+00178 {
+00179 (*itCount).second.update();
+00180 }
+00181
+00182 } <span class="comment">// processLogic //</span>
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea19" doxytag="NLLOGIC::CLogicStateMachine::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::CLogicStateMachine::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">xmlNodePtr&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>node</em> </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>
+
+<p>
+Definition at line <a class="el" href="a05954.html#l00571">571</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+References <a class="el" href="a05955.html#l00065">_Conditions</a>, <a class="el" href="a05955.html#l00062">_Counters</a>, <a class="el" href="a05955.html#l00059">_Variables</a>, <a class="el" href="a05954.html#l00072">NLLOGIC::getXMLProp()</a>, <a class="el" href="a05954.html#l00098">setCurrentState()</a>, <a class="el" href="a05955.html#l00094">setName()</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>00572 {
+00573 <a class="code" href="a05376.html#a2">xmlCheckNodeName</a> (node, <span class="stringliteral">"STATE_MACHINE"</span>);
+00574
+00575 <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea21">setName</a> (getXMLProp (node, <span class="stringliteral">"Name"</span>));
+00576
+00577 {
+00578 <span class="comment">// Count the parent</span>
+00579 <a class="code" href="a04558.html#a15">uint</a> nb = CIXml::countChildren (node, <span class="stringliteral">"VARIABLE"</span>);
+00580 <a class="code" href="a04558.html#a15">uint</a> i = 0;
+00581 xmlNodePtr parent = CIXml::getFirstChildNode (node, <span class="stringliteral">"VARIABLE"</span>);
+00582 <span class="keywordflow">while</span> (i&lt;nb)
+00583 {
+00584 CLogicVariable <a class="code" href="a04223.html#a576">v</a>;
+00585 <a class="code" href="a04223.html#a576">v</a>.read(parent);
+00586 <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.insert (make_pair(<a class="code" href="a04223.html#a576">v</a>.getName(), <a class="code" href="a04223.html#a576">v</a>));
+00587
+00588 <span class="comment">// Next parent</span>
+00589 parent = CIXml::getNextChildNode (parent, <span class="stringliteral">"VARIABLE"</span>);
+00590 i++;
+00591 }
+00592 }
+00593
+00594 {
+00595 <span class="comment">// Count the parent</span>
+00596 <a class="code" href="a04558.html#a15">uint</a> nb = CIXml::countChildren (node, <span class="stringliteral">"COUNTER"</span>);
+00597 <a class="code" href="a04558.html#a15">uint</a> i = 0;
+00598 xmlNodePtr parent = CIXml::getFirstChildNode (node, <span class="stringliteral">"COUNTER"</span>);
+00599 <span class="keywordflow">while</span> (i&lt;nb)
+00600 {
+00601 CLogicCounter <a class="code" href="a04223.html#a576">v</a>;
+00602 <a class="code" href="a04223.html#a576">v</a>.read(parent);
+00603 <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.insert (make_pair(<a class="code" href="a04223.html#a576">v</a>.getName(), <a class="code" href="a04223.html#a576">v</a>));
+00604
+00605 <span class="comment">// Next parent</span>
+00606 parent = CIXml::getNextChildNode (parent, <span class="stringliteral">"COUNTER"</span>);
+00607 i++;
+00608 }
+00609 }
+00610
+00611 {
+00612 <span class="comment">// Count the parent</span>
+00613 <a class="code" href="a04558.html#a15">uint</a> nb = CIXml::countChildren (node, <span class="stringliteral">"CONDITION"</span>);
+00614 <a class="code" href="a04558.html#a15">uint</a> i = 0;
+00615 xmlNodePtr parent = CIXml::getFirstChildNode (node, <span class="stringliteral">"CONDITION"</span>);
+00616 <span class="keywordflow">while</span> (i&lt;nb)
+00617 {
+00618 CLogicCondition <a class="code" href="a04223.html#a576">v</a>;
+00619 <a class="code" href="a04223.html#a576">v</a>.read(parent);
+00620 <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner0">_Conditions</a>.insert (make_pair(<a class="code" href="a04223.html#a576">v</a>.getName(), <a class="code" href="a04223.html#a576">v</a>));
+00621
+00622 <span class="comment">// Next parent</span>
+00623 parent = CIXml::getNextChildNode (parent, <span class="stringliteral">"CONDITION"</span>);
+00624 i++;
+00625 }
+00626 }
+00627
+00628 {
+00629 <span class="comment">// Count the parent</span>
+00630 <a class="code" href="a04558.html#a15">uint</a> nb = CIXml::countChildren (node, <span class="stringliteral">"STATE"</span>);
+00631 <a class="code" href="a04558.html#a15">uint</a> i = 0;
+00632 xmlNodePtr parent = CIXml::getFirstChildNode (node, <span class="stringliteral">"STATE"</span>);
+00633 <span class="keywordflow">while</span> (i&lt;nb)
+00634 {
+00635 CLogicState <a class="code" href="a04223.html#a576">v</a>;
+00636 <a class="code" href="a04223.html#a576">v</a>.read(parent);
+00637 <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.insert (make_pair(<a class="code" href="a04223.html#a576">v</a>.getName(), <a class="code" href="a04223.html#a576">v</a>));
+00638
+00639 <span class="comment">// Next parent</span>
+00640 parent = CIXml::getNextChildNode (parent, <span class="stringliteral">"STATE"</span>);
+00641 i++;
+00642 }
+00643 }
+00644
+00645 <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachinea20">setCurrentState</a> (getXMLProp (node, <span class="stringliteral">"CurrentState"</span>));
+00646 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea20" doxytag="NLLOGIC::CLogicStateMachine::setCurrentState" ></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::CLogicStateMachine::setCurrentState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>stateName</em> </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>
+Set the current state<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>stateName</em>&nbsp;</td><td>is the name of the state to give focus to</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05954.html#l00098">98</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00111">nlinfo</a>, and <a class="el" href="a05622.html#l00135">nlwarning</a>.
+<p>
+Referenced by <a class="el" href="a05952.html#l00148">NLLOGIC::CLogicState::processLogic()</a>, and <a class="el" href="a05954.html#l00571">read()</a>.
+<p>
+<div class="fragment"><pre>00099 {
+00100 map&lt;string,CLogicState&gt;::iterator itStates = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.find( stateName );
+00101 <span class="keywordflow">if</span>( itStates != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.end() )
+00102 {
+00103 (*itStates).second.exitState();
+00104
+00105 <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner2">_CurrentState</a> = stateName;
+00106
+00107 (*itStates).second.enterState();
+00108
+00109 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"Switching to state \"%s\""</span>,<a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner2">_CurrentState</a>.c_str());
+00110 }
+00111 <span class="keywordflow">else</span>
+00112 {
+00113 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"(LOGIC)&lt;CLogicStateMachine::setCurrentState&gt; The state \"%s\" is not in the state machine \"%s\""</span>,stateName.c_str(),<a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner3">_Name</a>.c_str());
+00114 }
+00115
+00116 } <span class="comment">// setCurrentState //</span>
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea21" doxytag="NLLOGIC::CLogicStateMachine::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::CLogicStateMachine::setName </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>name</em> </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>
+Set the state machine name<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>name</em>&nbsp;</td><td>is the name of state machine</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00094">94</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>.
+<p>
+Referenced by <a class="el" href="a05954.html#l00571">read()</a>.
+<p>
+<div class="fragment"><pre>00094 { <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner3">_Name</a> = name; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea22" doxytag="NLLOGIC::CLogicStateMachine::setVerbose" ></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::CLogicStateMachine::setVerbose </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string&nbsp;</td>
+ <td class="mdname" nowrap> <em>varName</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>b</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the verbose mode for a variable<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>varName</em>&nbsp;</td><td>is the name of the variable </td></tr>
+ <tr><td valign=top><em>b</em>&nbsp;</td><td>is true to activate the verbose mode, false else</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05954.html#l00398">398</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+References <a class="el" href="a05955.html#l00062">_Counters</a>, <a class="el" href="a05955.html#l00059">_Variables</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05981.html#l00095">sint8</a>, and <a class="el" href="a05954.html#l00497">NLLOGIC::testNameWithFilter()</a>.
+<p>
+<div class="fragment"><pre>00399 {
+00400 <span class="keywordflow">if</span>( varName == <span class="stringliteral">"all"</span> )
+00401 {
+00402 map&lt;string, CLogicVariable&gt;::iterator itV;
+00403 <span class="keywordflow">for</span>( itV = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.begin(); itV != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.end(); ++itV )
+00404 {
+00405 (*itV).second.setVerbose( b );
+00406 }
+00407 map&lt;string, CLogicCounter&gt;::iterator itC;
+00408 <span class="keywordflow">for</span>( itC = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.begin(); itC != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.end(); ++itC )
+00409 {
+00410 (*itC).second.setVerbose( b );
+00411 }
+00412 <span class="keywordflow">if</span>(b)
+00413 {
+00414 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"the verbose mode has been activated for all the variables"</span>,varName.c_str());
+00415 }
+00416 <span class="keywordflow">else</span>
+00417 {
+00418 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"the verbose mode has been desactivated for all the variables"</span>,varName.c_str());
+00419 }
+00420 <span class="keywordflow">return</span>;
+00421 }
+00422
+00423 <a class="code" href="a04558.html#a6">sint8</a> filter = -1;
+00424 string motif;
+00425 <span class="comment">// *xxx* =&gt; we look for a string with xxx inside</span>
+00426 <span class="keywordflow">if</span>( varName[0]==<span class="charliteral">'*'</span> &amp;&amp; varName[varName.size()-1]==<span class="charliteral">'*'</span>)
+00427 {
+00428 motif = varName.substr(1,varName.size()-2);
+00429 filter = 0;
+00430 }
+00431 <span class="keywordflow">else</span>
+00432 <span class="comment">// *xxx =&gt; we look for a string with xxx at the end</span>
+00433 <span class="keywordflow">if</span>( varName[0]==<span class="charliteral">'*'</span> )
+00434 {
+00435 motif = varName.substr(1,varName.size()-1);
+00436 filter = 1;
+00437 }
+00438 <span class="keywordflow">else</span>
+00439 <span class="comment">// xxx* =&gt; we look for a string with xxx at the begining</span>
+00440 <span class="keywordflow">if</span>( varName[varName.size()-1]==<span class="charliteral">'*'</span> )
+00441 {
+00442 motif = varName.substr(0,varName.size()-1);
+00443 filter = 2;
+00444 }
+00445
+00446 <span class="comment">// if no filter</span>
+00447 <span class="keywordflow">if</span>( filter == -1 )
+00448 {
+00449 map&lt;string, CLogicVariable&gt;::iterator itV = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.find( varName );
+00450 <span class="keywordflow">if</span>( itV != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.end() )
+00451 {
+00452 (*itV).second.setVerbose( b );
+00453 }
+00454 map&lt;string, CLogicCounter&gt;::iterator itC = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.find( varName );
+00455 <span class="keywordflow">if</span>( itC != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.end() || varName ==<span class="stringliteral">"all"</span> )
+00456 {
+00457 (*itC).second.setVerbose( b );
+00458 }
+00459 }
+00460 <span class="comment">// if filter</span>
+00461 <span class="keywordflow">else</span>
+00462 {
+00463 map&lt;string, CLogicVariable&gt;::iterator itV;
+00464 <span class="keywordflow">for</span>( itV = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.begin(); itV != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.end(); ++itV )
+00465 {
+00466 <span class="keywordflow">if</span>( <a class="code" href="a05376.html#a1">testNameWithFilter</a>( filter, motif,(*itV).second.getName()) )
+00467 {
+00468 (*itV).second.setVerbose( b );
+00469 }
+00470 }
+00471 map&lt;string, CLogicCounter&gt;::iterator itC;
+00472 <span class="keywordflow">for</span>( itC = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.begin(); itC != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.end(); ++itC )
+00473 {
+00474 <span class="keywordflow">if</span>( <a class="code" href="a05376.html#a1">testNameWithFilter</a>( filter, motif,(*itC).second.getName()) )
+00475 {
+00476 (*itC).second.setVerbose( b );
+00477 }
+00478 }
+00479 }
+00480 <span class="keywordflow">if</span>(b)
+00481 {
+00482 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"the verbose mode for variable \"%s\" has been activated"</span>,varName.c_str());
+00483 }
+00484 <span class="keywordflow">else</span>
+00485 {
+00486 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"the verbose mode for variable \"%s\" has been desactivated"</span>,varName.c_str());
+00487 }
+00488
+00489 } <span class="comment">// setVerbose //</span>
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachinea23" doxytag="NLLOGIC::CLogicStateMachine::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::CLogicStateMachine::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">xmlDocPtr&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>doc</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05954.html#l00542">542</a> of file <a class="el" href="a05954.html">logic_state_machine.cpp</a>.
+<p>
+References <a class="el" href="a05955.html#l00065">_Conditions</a>, <a class="el" href="a05955.html#l00062">_Counters</a>, and <a class="el" href="a05955.html#l00059">_Variables</a>.
+<p>
+<div class="fragment"><pre>00543 {
+00544 <span class="comment">// Create the first node</span>
+00545 xmlNodePtr node = xmlNewDocNode (doc, NULL, (<span class="keyword">const</span> xmlChar*)<span class="stringliteral">"STATE_MACHINE"</span>, NULL);
+00546 xmlDocSetRootElement (doc, node);
+00547 xmlSetProp (node, (<span class="keyword">const</span> xmlChar*)<span class="stringliteral">"Name"</span>, (<span class="keyword">const</span> xmlChar*)<a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner3">_Name</a>.c_str());
+00548 xmlSetProp (node, (<span class="keyword">const</span> xmlChar*)<span class="stringliteral">"CurrentState"</span>, (<span class="keyword">const</span> xmlChar*)<a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner2">_CurrentState</a>.c_str());
+00549
+00550 <span class="keywordflow">for</span> (std::map&lt;std::string, CLogicVariable&gt;::const_iterator vit = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.begin(); vit != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">_Variables</a>.end(); vit++)
+00551 {
+00552 (*vit).second.write(node);
+00553 }
+00554
+00555 <span class="keywordflow">for</span> (std::map&lt;std::string, CLogicCounter&gt;::const_iterator cit = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.begin(); cit != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">_Counters</a>.end(); cit++)
+00556 {
+00557 (*cit).second.write(node);
+00558 }
+00559
+00560 <span class="keywordflow">for</span> (std::map&lt;std::string, CLogicCondition&gt;::const_iterator c2it = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner0">_Conditions</a>.begin(); c2it != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner0">_Conditions</a>.end(); c2it++)
+00561 {
+00562 (*c2it).second.write(node);
+00563 }
+00564
+00565 <span class="keywordflow">for</span> (std::map&lt;std::string, CLogicState&gt;::const_iterator sit = <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.begin(); sit != <a class="code" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">_States</a>.end(); sit++)
+00566 {
+00567 (*sit).second.write(node);
+00568 }
+00569 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachiner0" doxytag="NLLOGIC::CLogicStateMachine::_Conditions" ></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::map&lt;std::string, <a class="el" href="a02816.html">CLogicCondition</a>&gt; <a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner0">NLLOGIC::CLogicStateMachine::_Conditions</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+conditions used in this state machine
+<p>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00065">65</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>.
+<p>
+Referenced by <a class="el" href="a05954.html#l00124">addCondition()</a>, <a class="el" href="a05954.html#l00233">getCondition()</a>, <a class="el" href="a05955.html#l00080">getConditions()</a>, <a class="el" href="a05954.html#l00571">read()</a>, and <a class="el" href="a05954.html#l00542">write()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachiner1" doxytag="NLLOGIC::CLogicStateMachine::_Counters" ></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::map&lt;std::string, <a class="el" href="a02819.html">CLogicCounter</a>&gt; <a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner1">NLLOGIC::CLogicStateMachine::_Counters</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+counters
+<p>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00062">62</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>.
+<p>
+Referenced by <a class="el" href="a05955.html#l00150">addCounter()</a>, <a class="el" href="a05955.html#l00079">getCounters()</a>, <a class="el" href="a05954.html#l00207">getVariable()</a>, <a class="el" href="a05954.html#l00253">modifyVariable()</a>, <a class="el" href="a05954.html#l00168">processLogic()</a>, <a class="el" href="a05954.html#l00571">read()</a>, <a class="el" href="a05954.html#l00398">setVerbose()</a>, and <a class="el" href="a05954.html#l00542">write()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachiner2" doxytag="NLLOGIC::CLogicStateMachine::_CurrentState" ></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="a02825.html#NLLOGIC_1_1CLogicStateMachiner2">NLLOGIC::CLogicStateMachine::_CurrentState</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+name of the current state
+<p>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00071">71</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachiner3" doxytag="NLLOGIC::CLogicStateMachine::_Name" ></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="a02825.html#NLLOGIC_1_1CLogicStateMachiner3">NLLOGIC::CLogicStateMachine::_Name</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+name of this sate machine
+<p>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00074">74</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachiner4" doxytag="NLLOGIC::CLogicStateMachine::_States" ></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::map&lt;std::string, <a class="el" href="a02824.html">CLogicState</a>&gt; <a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner4">NLLOGIC::CLogicStateMachine::_States</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+states
+<p>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00068">68</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLLOGIC_1_1CLogicStateMachiner5" doxytag="NLLOGIC::CLogicStateMachine::_Variables" ></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::map&lt;std::string, <a class="el" href="a02820.html">CLogicVariable</a>&gt; <a class="el" href="a02825.html#NLLOGIC_1_1CLogicStateMachiner5">NLLOGIC::CLogicStateMachine::_Variables</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+variables
+<p>
+
+<p>
+Definition at line <a class="el" href="a05955.html#l00059">59</a> of file <a class="el" href="a05955.html">logic_state_machine.h</a>.
+<p>
+Referenced by <a class="el" href="a05955.html#l00134">addVariable()</a>, <a class="el" href="a05954.html#l00316">displayVariables()</a>, <a class="el" href="a05954.html#l00207">getVariable()</a>, <a class="el" href="a05955.html#l00078">getVariables()</a>, <a class="el" href="a05954.html#l00253">modifyVariable()</a>, <a class="el" href="a05954.html#l00571">read()</a>, <a class="el" href="a05954.html#l00398">setVerbose()</a>, and <a class="el" href="a05954.html#l00542">write()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a05955.html">logic_state_machine.h</a><li><a class="el" href="a05954.html">logic_state_machine.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 12:54:37 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>