521 lines
94 KiB
HTML
521 lines
94 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.14"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>PIP: PIStateMachine< Type > Class Template Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(document).ready(initResizable);
|
|
/* @license-end */</script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">PIP
|
|
 <span id="projectnumber">1.8.0</span>
|
|
</div>
|
|
<div id="projectbrief">Platform-Independent Primitives</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.14 -->
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',false,false,'search.php','Search');
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(document).ready(function(){initNavTree('class_p_i_state_machine.html','');});
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#pub-types">Public Types</a> |
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pro-methods">Protected Member Functions</a> |
|
|
<a href="class_p_i_state_machine-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">PIStateMachine< Type > Class Template Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Base class for custom state machine.
|
|
<a href="class_p_i_state_machine.html#details">More...</a></p>
|
|
<div class="dynheader">
|
|
Inheritance diagram for PIStateMachine< Type >:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="class_p_i_state_machine__inherit__graph.png" border="0" usemap="#_p_i_state_machine_3_01_type_01_4_inherit__map" alt="Inheritance graph"/></div>
|
|
<map name="_p_i_state_machine_3_01_type_01_4_inherit__map" id="_p_i_state_machine_3_01_type_01_4_inherit__map">
|
|
<area shape="rect" id="node2" href="class_p_i_object.html" title="This is base class for any classes which use events -> handlers mechanism. " alt="" coords="61,5,148,32"/>
|
|
</map>
|
|
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_i_state_machine_1_1_rule.html">Rule</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Rule of transition between states of machine <a href="struct_p_i_state_machine_1_1_rule.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_i_state_machine_1_1_state.html">State</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">State of machine <a href="struct_p_i_state_machine_1_1_state.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
|
Public Types</h2></td></tr>
|
|
<tr class="memitem:abc7ad84744d038a0eb598e82ac536ed7"><td class="memItemLeft" align="right" valign="top"><a id="abc7ad84744d038a0eb598e82ac536ed7"></a>
|
|
typedef PIPair< <a class="el" href="class_p_i_string.html">PIString</a>, int > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#abc7ad84744d038a0eb598e82ac536ed7">Condition</a></td></tr>
|
|
<tr class="memdesc:abc7ad84744d038a0eb598e82ac536ed7"><td class="mdescLeft"> </td><td class="mdescRight">Condition is a pair (string, number) <br /></td></tr>
|
|
<tr class="separator:abc7ad84744d038a0eb598e82ac536ed7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a5a9c75f183207bc366b2f0531473b905"><td class="memItemLeft" align="right" valign="top"><a id="a5a9c75f183207bc366b2f0531473b905"></a>
|
|
 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a5a9c75f183207bc366b2f0531473b905">PIStateMachine</a> (void *_parent=0)</td></tr>
|
|
<tr class="memdesc:a5a9c75f183207bc366b2f0531473b905"><td class="mdescLeft"> </td><td class="mdescRight">Constructs an empty state machine. <br /></td></tr>
|
|
<tr class="separator:a5a9c75f183207bc366b2f0531473b905"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac26f6300f7545b0182e3a52805b04cd6"><td class="memItemLeft" align="right" valign="top"><a id="ac26f6300f7545b0182e3a52805b04cd6"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#ac26f6300f7545b0182e3a52805b04cd6">addState</a> (Type value, const <a class="el" href="class_p_i_string.html">PIString</a> &<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>="", Handler handler=0)</td></tr>
|
|
<tr class="memdesc:ac26f6300f7545b0182e3a52805b04cd6"><td class="mdescLeft"> </td><td class="mdescRight">Add state of machine. <br /></td></tr>
|
|
<tr class="separator:ac26f6300f7545b0182e3a52805b04cd6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4e5a570bcc431e5ea85095b688a31d60"><td class="memItemLeft" align="right" valign="top"><a id="a4e5a570bcc431e5ea85095b688a31d60"></a>
|
|
int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a4e5a570bcc431e5ea85095b688a31d60">statesCount</a> () const</td></tr>
|
|
<tr class="memdesc:a4e5a570bcc431e5ea85095b688a31d60"><td class="mdescLeft"> </td><td class="mdescRight">States count. <br /></td></tr>
|
|
<tr class="separator:a4e5a570bcc431e5ea85095b688a31d60"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a18bceb62d18013df1459c3bb442eb7e8"><td class="memItemLeft" align="right" valign="top"><a id="a18bceb62d18013df1459c3bb442eb7e8"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a18bceb62d18013df1459c3bb442eb7e8">clearStates</a> ()</td></tr>
|
|
<tr class="memdesc:a18bceb62d18013df1459c3bb442eb7e8"><td class="mdescLeft"> </td><td class="mdescRight">Remove all states. <br /></td></tr>
|
|
<tr class="separator:a18bceb62d18013df1459c3bb442eb7e8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aee180e7f75ece9aef1c3d8a94095ed21"><td class="memItemLeft" align="right" valign="top"><a id="aee180e7f75ece9aef1c3d8a94095ed21"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#aee180e7f75ece9aef1c3d8a94095ed21">addRule</a> (Type from, Type to, const <a class="el" href="class_p_i_string.html">PIString</a> &condition, Handler handler=0, bool autoTransition=false, bool resetAllConditions=false)</td></tr>
|
|
<tr class="memdesc:aee180e7f75ece9aef1c3d8a94095ed21"><td class="mdescLeft"> </td><td class="mdescRight">Add rule of transition. <br /></td></tr>
|
|
<tr class="separator:aee180e7f75ece9aef1c3d8a94095ed21"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a52703fc2cac4578a7a70b57aeb8742fc"><td class="memItemLeft" align="right" valign="top"><a id="a52703fc2cac4578a7a70b57aeb8742fc"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a52703fc2cac4578a7a70b57aeb8742fc">addRule</a> (Type from, Type to, Handler handler, bool autoTransition=false, bool resetAllConditions=false)</td></tr>
|
|
<tr class="memdesc:a52703fc2cac4578a7a70b57aeb8742fc"><td class="mdescLeft"> </td><td class="mdescRight">Add rule of transition. <br /></td></tr>
|
|
<tr class="separator:a52703fc2cac4578a7a70b57aeb8742fc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2bda5abc394ca0d479faf01050c5b843"><td class="memItemLeft" align="right" valign="top"><a id="a2bda5abc394ca0d479faf01050c5b843"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a2bda5abc394ca0d479faf01050c5b843">addRule</a> (Type from, Type to, const <a class="el" href="class_p_i_string_list.html">PIStringList</a> &conditions=<a class="el" href="class_p_i_string_list.html">PIStringList</a>(), Handler handler=0, bool autoTransition=false, bool resetAllConditions=false)</td></tr>
|
|
<tr class="memdesc:a2bda5abc394ca0d479faf01050c5b843"><td class="mdescLeft"> </td><td class="mdescRight">Add rule of transition. <br /></td></tr>
|
|
<tr class="separator:a2bda5abc394ca0d479faf01050c5b843"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a60f175d31774c0a01689ebe4a463dd85"><td class="memItemLeft" align="right" valign="top"><a id="a60f175d31774c0a01689ebe4a463dd85"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a60f175d31774c0a01689ebe4a463dd85">addRule</a> (const <a class="el" href="struct_p_i_state_machine_1_1_rule.html">Rule</a> &rule)</td></tr>
|
|
<tr class="memdesc:a60f175d31774c0a01689ebe4a463dd85"><td class="mdescLeft"> </td><td class="mdescRight">Add rule of transition. <br /></td></tr>
|
|
<tr class="separator:a60f175d31774c0a01689ebe4a463dd85"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5de271667306d653570dbf69ab394d56"><td class="memItemLeft" align="right" valign="top"><a id="a5de271667306d653570dbf69ab394d56"></a>
|
|
int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a5de271667306d653570dbf69ab394d56">rulesCount</a> () const</td></tr>
|
|
<tr class="memdesc:a5de271667306d653570dbf69ab394d56"><td class="mdescLeft"> </td><td class="mdescRight">Rules count. <br /></td></tr>
|
|
<tr class="separator:a5de271667306d653570dbf69ab394d56"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1e44d3e3cacd745413e84272993a6407"><td class="memItemLeft" align="right" valign="top"><a id="a1e44d3e3cacd745413e84272993a6407"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a1e44d3e3cacd745413e84272993a6407">clearRules</a> ()</td></tr>
|
|
<tr class="memdesc:a1e44d3e3cacd745413e84272993a6407"><td class="mdescLeft"> </td><td class="mdescRight">Remove all rules. <br /></td></tr>
|
|
<tr class="separator:a1e44d3e3cacd745413e84272993a6407"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a42b22e027a498659282a4838d576eb80"><td class="memItemLeft" align="right" valign="top"><a id="a42b22e027a498659282a4838d576eb80"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a42b22e027a498659282a4838d576eb80">setInitialState</a> (Type value)</td></tr>
|
|
<tr class="memdesc:a42b22e027a498659282a4838d576eb80"><td class="mdescLeft"> </td><td class="mdescRight">Setup initial state. <em><a class="el" href="class_p_i_state_machine.html#a2dbebcfe51dfd85c568bcc5eab3a4d40" title="Reset machine state to initial and clear all conditions. ">reset()</a></em> will set machine state to "value". <br /></td></tr>
|
|
<tr class="separator:a42b22e027a498659282a4838d576eb80"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af4aa7b86c70425bfc9690e4c27ab6cf7"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#af4aa7b86c70425bfc9690e4c27ab6cf7">switchToState</a> (Type to)</td></tr>
|
|
<tr class="memdesc:af4aa7b86c70425bfc9690e4c27ab6cf7"><td class="mdescLeft"> </td><td class="mdescRight">Try to switch machine state to state "to". <a href="#af4aa7b86c70425bfc9690e4c27ab6cf7">More...</a><br /></td></tr>
|
|
<tr class="separator:af4aa7b86c70425bfc9690e4c27ab6cf7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2dbebcfe51dfd85c568bcc5eab3a4d40"><td class="memItemLeft" align="right" valign="top"><a id="a2dbebcfe51dfd85c568bcc5eab3a4d40"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a2dbebcfe51dfd85c568bcc5eab3a4d40">reset</a> ()</td></tr>
|
|
<tr class="memdesc:a2dbebcfe51dfd85c568bcc5eab3a4d40"><td class="mdescLeft"> </td><td class="mdescRight">Reset machine state to initial and clear all conditions. <br /></td></tr>
|
|
<tr class="separator:a2dbebcfe51dfd85c568bcc5eab3a4d40"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aadd45dc12ebd304ec65c748587d7a580"><td class="memItemLeft" align="right" valign="top"><a id="aadd45dc12ebd304ec65c748587d7a580"></a>
|
|
const <a class="el" href="struct_p_i_state_machine_1_1_state.html">State</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#aadd45dc12ebd304ec65c748587d7a580">currentState</a> () const</td></tr>
|
|
<tr class="memdesc:aadd45dc12ebd304ec65c748587d7a580"><td class="mdescLeft"> </td><td class="mdescRight">Returns current state of machine. <br /></td></tr>
|
|
<tr class="separator:aadd45dc12ebd304ec65c748587d7a580"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa932844b2866a28e24028020c33fe23a"><td class="memItemLeft" align="right" valign="top"><a id="aa932844b2866a28e24028020c33fe23a"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#aa932844b2866a28e24028020c33fe23a">resetConditions</a> ()</td></tr>
|
|
<tr class="memdesc:aa932844b2866a28e24028020c33fe23a"><td class="mdescLeft"> </td><td class="mdescRight">Reset all performed conditions. <br /></td></tr>
|
|
<tr class="separator:aa932844b2866a28e24028020c33fe23a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8c62341c659ed29e4ba25672162aafc0"><td class="memItemLeft" align="right" valign="top"><a id="a8c62341c659ed29e4ba25672162aafc0"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a8c62341c659ed29e4ba25672162aafc0">resetCondition</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>)</td></tr>
|
|
<tr class="memdesc:a8c62341c659ed29e4ba25672162aafc0"><td class="mdescLeft"> </td><td class="mdescRight">Reset performed condition with name "name". <br /></td></tr>
|
|
<tr class="separator:a8c62341c659ed29e4ba25672162aafc0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0c51b3d6ffd0a96ae5b24a2c06ae20e3"><td class="memItemLeft" align="right" valign="top"><a id="a0c51b3d6ffd0a96ae5b24a2c06ae20e3"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a0c51b3d6ffd0a96ae5b24a2c06ae20e3">performCondition</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, int times=1)</td></tr>
|
|
<tr class="memdesc:a0c51b3d6ffd0a96ae5b24a2c06ae20e3"><td class="mdescLeft"> </td><td class="mdescRight">Perform condition with name "name" "times" times. <br /></td></tr>
|
|
<tr class="separator:a0c51b3d6ffd0a96ae5b24a2c06ae20e3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0c2a680c0a10c9440bbe89dccc55ee0c"><td class="memItemLeft" align="right" valign="top"><a id="a0c2a680c0a10c9440bbe89dccc55ee0c"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a0c2a680c0a10c9440bbe89dccc55ee0c">performConditions</a> (const <a class="el" href="class_p_i_string_list.html">PIStringList</a> &names)</td></tr>
|
|
<tr class="memdesc:a0c2a680c0a10c9440bbe89dccc55ee0c"><td class="mdescLeft"> </td><td class="mdescRight">Perform every condition with name from "names" one time. <br /></td></tr>
|
|
<tr class="separator:a0c2a680c0a10c9440bbe89dccc55ee0c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac8e92d5d192d91ecfca071adbb8d514e"><td class="memItemLeft" align="right" valign="top"><a id="ac8e92d5d192d91ecfca071adbb8d514e"></a>
|
|
const <a class="el" href="class_p_i_vector.html">PIVector</a>< <a class="el" href="class_p_i_state_machine.html#abc7ad84744d038a0eb598e82ac536ed7">Condition</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#ac8e92d5d192d91ecfca071adbb8d514e">currentConditions</a> () const</td></tr>
|
|
<tr class="memdesc:ac8e92d5d192d91ecfca071adbb8d514e"><td class="mdescLeft"> </td><td class="mdescRight">Returns all current performed conditions. <br /></td></tr>
|
|
<tr class="separator:ac8e92d5d192d91ecfca071adbb8d514e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="inherit_header pub_methods_class_p_i_object"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_p_i_object')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="class_p_i_object.html">PIObject</a></td></tr>
|
|
<tr class="memitem:a779d66bab882a51ef6389d2e212f2bd6 inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a779d66bab882a51ef6389d2e212f2bd6"></a>
|
|
 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a779d66bab882a51ef6389d2e212f2bd6">PIObject</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>=<a class="el" href="class_p_i_string.html">PIString</a>())</td></tr>
|
|
<tr class="memdesc:a779d66bab882a51ef6389d2e212f2bd6 inherit pub_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Contructs <a class="el" href="class_p_i_object.html" title="This is base class for any classes which use events -> handlers mechanism. ">PIObject</a> with name "name". <br /></td></tr>
|
|
<tr class="separator:a779d66bab882a51ef6389d2e212f2bd6 inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5c3600479f3e919bbd4f905b7fedc275 inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a5c3600479f3e919bbd4f905b7fedc275"></a>
|
|
<a class="el" href="class_p_i_string.html">PIString</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a> () const</td></tr>
|
|
<tr class="memdesc:a5c3600479f3e919bbd4f905b7fedc275 inherit pub_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Returns object name. <br /></td></tr>
|
|
<tr class="separator:a5c3600479f3e919bbd4f905b7fedc275 inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac50df87aa63e061abd460f9a71e7176a inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ac50df87aa63e061abd460f9a71e7176a"></a>
|
|
virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#ac50df87aa63e061abd460f9a71e7176a">className</a> () const</td></tr>
|
|
<tr class="memdesc:ac50df87aa63e061abd460f9a71e7176a inherit pub_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Returns object class name. <br /></td></tr>
|
|
<tr class="separator:ac50df87aa63e061abd460f9a71e7176a inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a281e02fd3810ec632c5db2e2460aa85c inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a281e02fd3810ec632c5db2e2460aa85c"></a>
|
|
virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a281e02fd3810ec632c5db2e2460aa85c">parentClassName</a> () const</td></tr>
|
|
<tr class="memdesc:a281e02fd3810ec632c5db2e2460aa85c inherit pub_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Returns parent object class name. <br /></td></tr>
|
|
<tr class="separator:a281e02fd3810ec632c5db2e2460aa85c inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8df5efbe08b98034b5ebadad11a2e94e inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a8df5efbe08b98034b5ebadad11a2e94e"></a>
|
|
bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a8df5efbe08b98034b5ebadad11a2e94e">debug</a> () const</td></tr>
|
|
<tr class="memdesc:a8df5efbe08b98034b5ebadad11a2e94e inherit pub_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Return if debug of this object is active. <br /></td></tr>
|
|
<tr class="separator:a8df5efbe08b98034b5ebadad11a2e94e inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8eb211f42dfcf7b7a1f32acabbfd6ada inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a8eb211f42dfcf7b7a1f32acabbfd6ada"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a8eb211f42dfcf7b7a1f32acabbfd6ada">setName</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>)</td></tr>
|
|
<tr class="memdesc:a8eb211f42dfcf7b7a1f32acabbfd6ada inherit pub_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Set object name. <br /></td></tr>
|
|
<tr class="separator:a8eb211f42dfcf7b7a1f32acabbfd6ada inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9a0ec972d4864287fae4d1a0edcd9dc5 inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a9a0ec972d4864287fae4d1a0edcd9dc5"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a9a0ec972d4864287fae4d1a0edcd9dc5">setDebug</a> (bool <a class="el" href="class_p_i_object.html#a8df5efbe08b98034b5ebadad11a2e94e">debug</a>)</td></tr>
|
|
<tr class="memdesc:a9a0ec972d4864287fae4d1a0edcd9dc5 inherit pub_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Set object debug active. <br /></td></tr>
|
|
<tr class="separator:a9a0ec972d4864287fae4d1a0edcd9dc5 inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1363089418ce5b3c22593f8c2ffdf63d inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a1363089418ce5b3c22593f8c2ffdf63d"></a>
|
|
const PIMap< <a class="el" href="class_p_i_string.html">PIString</a>, <a class="el" href="class_p_i_variant.html">PIVariant</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a1363089418ce5b3c22593f8c2ffdf63d">properties</a> () const</td></tr>
|
|
<tr class="memdesc:a1363089418ce5b3c22593f8c2ffdf63d inherit pub_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Returns properties of the object. <br /></td></tr>
|
|
<tr class="separator:a1363089418ce5b3c22593f8c2ffdf63d inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acbe8578cf9d01117554ec28d3882661c inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="acbe8578cf9d01117554ec28d3882661c"></a>
|
|
int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#acbe8578cf9d01117554ec28d3882661c">propertiesCount</a> () const</td></tr>
|
|
<tr class="memdesc:acbe8578cf9d01117554ec28d3882661c inherit pub_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Returns properties count of the object. <br /></td></tr>
|
|
<tr class="separator:acbe8578cf9d01117554ec28d3882661c inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1ea9294ee2f2f59784762992878d7b99 inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a1ea9294ee2f2f59784762992878d7b99"></a>
|
|
<a class="el" href="class_p_i_variant.html">PIVariant</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a1ea9294ee2f2f59784762992878d7b99">property</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>) const</td></tr>
|
|
<tr class="memdesc:a1ea9294ee2f2f59784762992878d7b99 inherit pub_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Returns property with name "name". <br /></td></tr>
|
|
<tr class="separator:a1ea9294ee2f2f59784762992878d7b99 inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a647e2f79b975cf88d636a2ca2dadfb9c inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a647e2f79b975cf88d636a2ca2dadfb9c"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a647e2f79b975cf88d636a2ca2dadfb9c">setProperty</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, const <a class="el" href="class_p_i_variant.html">PIVariant</a> &value)</td></tr>
|
|
<tr class="memdesc:a647e2f79b975cf88d636a2ca2dadfb9c inherit pub_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Set property with name "name" to "value". If there is no such property in object it will be added. <br /></td></tr>
|
|
<tr class="separator:a647e2f79b975cf88d636a2ca2dadfb9c inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afe264bac22327160e40c1db19862cabf inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="afe264bac22327160e40c1db19862cabf"></a>
|
|
bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#afe264bac22327160e40c1db19862cabf">isPropertyExists</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>) const</td></tr>
|
|
<tr class="memdesc:afe264bac22327160e40c1db19862cabf inherit pub_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Returns if property with name "name" exists. <br /></td></tr>
|
|
<tr class="separator:afe264bac22327160e40c1db19862cabf inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
|
Protected Member Functions</h2></td></tr>
|
|
<tr class="memitem:a59c79d761ab1c4b64a655e55c6a93904"><td class="memItemLeft" align="right" valign="top"><a id="a59c79d761ab1c4b64a655e55c6a93904"></a>
|
|
virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a59c79d761ab1c4b64a655e55c6a93904">execution</a> (const <a class="el" href="struct_p_i_state_machine_1_1_state.html">State</a> &state)</td></tr>
|
|
<tr class="memdesc:a59c79d761ab1c4b64a655e55c6a93904"><td class="mdescLeft"> </td><td class="mdescRight">Reimplement this function to process current state of machine. <br /></td></tr>
|
|
<tr class="separator:a59c79d761ab1c4b64a655e55c6a93904"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad848623075776b802de3fc22b4a08cea"><td class="memItemLeft" align="right" valign="top"><a id="ad848623075776b802de3fc22b4a08cea"></a>
|
|
virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#ad848623075776b802de3fc22b4a08cea">transition</a> (const <a class="el" href="struct_p_i_state_machine_1_1_state.html">State</a> &from, const <a class="el" href="struct_p_i_state_machine_1_1_state.html">State</a> &to)</td></tr>
|
|
<tr class="memdesc:ad848623075776b802de3fc22b4a08cea"><td class="mdescLeft"> </td><td class="mdescRight">Reimplement this function to process switching current state of machine. <br /></td></tr>
|
|
<tr class="separator:ad848623075776b802de3fc22b4a08cea"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="inherit_header pro_methods_class_p_i_object"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_p_i_object')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="class_p_i_object.html">PIObject</a></td></tr>
|
|
<tr class="memitem:a0bbc8d56e4f910c05e17ade5b9a0232f inherit pro_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a0bbc8d56e4f910c05e17ade5b9a0232f"></a>
|
|
<a class="el" href="class_p_i_object.html">PIObject</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a0bbc8d56e4f910c05e17ade5b9a0232f">emitter</a> () const</td></tr>
|
|
<tr class="memdesc:a0bbc8d56e4f910c05e17ade5b9a0232f inherit pro_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Returns PIObject* which has raised an event. This value is correct only in definition of some event handler. <br /></td></tr>
|
|
<tr class="separator:a0bbc8d56e4f910c05e17ade5b9a0232f inherit pro_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2f98c7c43b93f9d636e9119f0a577715 inherit pro_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a2f98c7c43b93f9d636e9119f0a577715"></a>
|
|
virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a2f98c7c43b93f9d636e9119f0a577715">propertyChanged</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>)</td></tr>
|
|
<tr class="memdesc:a2f98c7c43b93f9d636e9119f0a577715 inherit pro_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Virtual function executes after property with name "name" has been changed. <br /></td></tr>
|
|
<tr class="separator:a2f98c7c43b93f9d636e9119f0a577715 inherit pro_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3d5e7421d26c565d1c20bfa5220c2601 inherit pro_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a3d5e7421d26c565d1c20bfa5220c2601">deleted</a> ()</td></tr>
|
|
<tr class="memdesc:a3d5e7421d26c565d1c20bfa5220c2601 inherit pro_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Raise before object delete. <a href="class_p_i_object.html#a3d5e7421d26c565d1c20bfa5220c2601">More...</a><br /></td></tr>
|
|
<tr class="separator:a3d5e7421d26c565d1c20bfa5220c2601 inherit pro_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
|
|
Handlers</h2></td></tr>
|
|
<tr class="memitem:a37e8b9df953d6948e84d061bc02e5903"><td class="memItemLeft" align="right" valign="top"><a id="a37e8b9df953d6948e84d061bc02e5903"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a37e8b9df953d6948e84d061bc02e5903">tick</a> ()</td></tr>
|
|
<tr class="memdesc:a37e8b9df953d6948e84d061bc02e5903"><td class="mdescLeft"> </td><td class="mdescRight">Main function of machine. Execute <em><a class="el" href="class_p_i_state_machine.html#a59c79d761ab1c4b64a655e55c6a93904" title="Reimplement this function to process current state of machine. ">execution()</a></em> and check if need to switch state. <br /></td></tr>
|
|
<tr class="separator:a37e8b9df953d6948e84d061bc02e5903"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6a262d1d71be95b5b5d4f5d7b276c8f7"><td class="memItemLeft" align="right" valign="top"><a id="a6a262d1d71be95b5b5d4f5d7b276c8f7"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_state_machine.html#a6a262d1d71be95b5b5d4f5d7b276c8f7">tick</a> (void *data, int delim)</td></tr>
|
|
<tr class="memdesc:a6a262d1d71be95b5b5d4f5d7b276c8f7"><td class="mdescLeft"> </td><td class="mdescRight">Main function of machine. Execute <em><a class="el" href="class_p_i_state_machine.html#a59c79d761ab1c4b64a655e55c6a93904" title="Reimplement this function to process current state of machine. ">execution()</a></em> and check if need to switch state. <br /></td></tr>
|
|
<tr class="separator:a6a262d1d71be95b5b5d4f5d7b276c8f7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
|
|
Additional Inherited Members</h2></td></tr>
|
|
<tr class="inherit_header pub_static_methods_class_p_i_object"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_class_p_i_object')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="class_p_i_object.html">PIObject</a></td></tr>
|
|
<tr class="memitem:af4581f822cb17c489e34da1abca2764a inherit pub_static_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="af4581f822cb17c489e34da1abca2764a"></a>
|
|
static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#af4581f822cb17c489e34da1abca2764a">piDisconnect</a> (<a class="el" href="class_p_i_object.html">PIObject</a> *src, const <a class="el" href="class_p_i_string.html">PIString</a> &sig)</td></tr>
|
|
<tr class="memdesc:af4581f822cb17c489e34da1abca2764a inherit pub_static_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Disconnect object "src" from all connections with event name "sig". <br /></td></tr>
|
|
<tr class="separator:af4581f822cb17c489e34da1abca2764a inherit pub_static_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1d556c03cc2ba29fd2515abc470e3393 inherit pub_static_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a1d556c03cc2ba29fd2515abc470e3393"></a>
|
|
static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a1d556c03cc2ba29fd2515abc470e3393">piDisconnect</a> (<a class="el" href="class_p_i_object.html">PIObject</a> *src)</td></tr>
|
|
<tr class="memdesc:a1d556c03cc2ba29fd2515abc470e3393 inherit pub_static_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter. <br /></td></tr>
|
|
<tr class="separator:a1d556c03cc2ba29fd2515abc470e3393 inherit pub_static_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afe05189de1d6ebbf44a2e16cfe200848 inherit pub_static_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="afe05189de1d6ebbf44a2e16cfe200848"></a>
|
|
static <a class="el" href="class_p_i_object.html">PIObject</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#afe05189de1d6ebbf44a2e16cfe200848">findByName</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>)</td></tr>
|
|
<tr class="memdesc:afe05189de1d6ebbf44a2e16cfe200848 inherit pub_static_methods_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Returns PIObject* with name "name" or 0, if there is no object found. <br /></td></tr>
|
|
<tr class="separator:afe05189de1d6ebbf44a2e16cfe200848 inherit pub_static_methods_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="inherit_header related_class_p_i_object"><td colspan="2" onclick="javascript:toggleInherit('related_class_p_i_object')"><img src="closed.png" alt="-"/> Related Functions inherited from <a class="el" href="class_p_i_object.html">PIObject</a></td></tr>
|
|
<tr class="memitem:a722b67a967e55918f6921de66ecffce9 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a722b67a967e55918f6921de66ecffce9"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a722b67a967e55918f6921de66ecffce9">piCoutObj</a></td></tr>
|
|
<tr class="memdesc:a722b67a967e55918f6921de66ecffce9 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Macro used for conditional (piDebug and <a class="el" href="class_p_i_object.html#a8df5efbe08b98034b5ebadad11a2e94e" title="Return if debug of this object is active. ">PIObject::debug()</a>) output to <a class="el" href="class_p_i_cout.html" title="Class for formatted output similar std::cout. ">PICout</a> for subclasses of <a class="el" href="class_p_i_object.html" title="This is base class for any classes which use events -> handlers mechanism. ">PIObject</a>. <br /></td></tr>
|
|
<tr class="separator:a722b67a967e55918f6921de66ecffce9 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:affa62b02040517a34b3f173d804e487f inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="affa62b02040517a34b3f173d804e487f"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#affa62b02040517a34b3f173d804e487f">PIOBJECT</a>(<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>)</td></tr>
|
|
<tr class="memdesc:affa62b02040517a34b3f173d804e487f inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">you should use this macro after class declaration to use EVENT and EVENT_HANDLER and correct piCoutObj output <br /></td></tr>
|
|
<tr class="separator:affa62b02040517a34b3f173d804e487f inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8cd6444e57a0f7f25888c8b8293d3543 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a8cd6444e57a0f7f25888c8b8293d3543"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a8cd6444e57a0f7f25888c8b8293d3543">PIOBJECT_SUBCLASS</a>(<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, parent)</td></tr>
|
|
<tr class="memdesc:a8cd6444e57a0f7f25888c8b8293d3543 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">you should use this macro after class declaration to use EVENT and EVENT_HANDLER of parent class, and <em>scopeList()</em> <br /></td></tr>
|
|
<tr class="separator:a8cd6444e57a0f7f25888c8b8293d3543 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab605cf0454d34cc72c65bfed2abd696a inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ab605cf0454d34cc72c65bfed2abd696a"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#ab605cf0454d34cc72c65bfed2abd696a">EVENT_HANDLER0</a>(ret, <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>)   ret <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>()</td></tr>
|
|
<tr class="memdesc:ab605cf0454d34cc72c65bfed2abd696a inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare event handler "event" with name "name" and return type "ret", ret <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275" title="Returns object name. ">name()</a> <br /></td></tr>
|
|
<tr class="separator:ab605cf0454d34cc72c65bfed2abd696a inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a56defa004e9b7efb2db50b3a43ca7225 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a56defa004e9b7efb2db50b3a43ca7225"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a56defa004e9b7efb2db50b3a43ca7225">EVENT_HANDLER1</a>(ret, <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, type0, var0)   ret <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>(type0 var0)</td></tr>
|
|
<tr class="memdesc:a56defa004e9b7efb2db50b3a43ca7225 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare event handler "event" with name "name" and return type "ret", ret name(type0 var0) <br /></td></tr>
|
|
<tr class="separator:a56defa004e9b7efb2db50b3a43ca7225 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abb64b696544ee4ee8715add9747c1293 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="abb64b696544ee4ee8715add9747c1293"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#abb64b696544ee4ee8715add9747c1293">EVENT_HANDLER2</a>(ret, <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, type0, var0, type1, var1)   ret <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>(type0 var0, type1 var1)</td></tr>
|
|
<tr class="memdesc:abb64b696544ee4ee8715add9747c1293 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare event handler "event" with name "name" and return type "ret", ret name(type0 var0, type1 var1) <br /></td></tr>
|
|
<tr class="separator:abb64b696544ee4ee8715add9747c1293 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af90eced49fbdb43f5fc631fa7e7a44fb inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="af90eced49fbdb43f5fc631fa7e7a44fb"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#af90eced49fbdb43f5fc631fa7e7a44fb">EVENT_HANDLER3</a>(ret, <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, type0, var0, type1, var1, type2, var2)   ret <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>(type0 var0, type1 var1, type2 var2)</td></tr>
|
|
<tr class="memdesc:af90eced49fbdb43f5fc631fa7e7a44fb inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare event handler "event" with name "name" and return type "ret", ret name(type0 var0, type1 var1, type2 var2) <br /></td></tr>
|
|
<tr class="separator:af90eced49fbdb43f5fc631fa7e7a44fb inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae8a8499ba07a4cc16c0b15c51b197d9f inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ae8a8499ba07a4cc16c0b15c51b197d9f"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#ae8a8499ba07a4cc16c0b15c51b197d9f">EVENT_HANDLER4</a>(ret, <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, type0, var0, type1, var1, type2, var2, type3, var3)   ret <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>(type0 var0, type1 var1, type2 var2, type3 var3)</td></tr>
|
|
<tr class="memdesc:ae8a8499ba07a4cc16c0b15c51b197d9f inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare event handler "event" with name "name" and return type "ret", ret name(type0 var0, type1 var1, type2 var2, type3 var3) <br /></td></tr>
|
|
<tr class="separator:ae8a8499ba07a4cc16c0b15c51b197d9f inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae92ae8e64fbb4c6fa7d87cc1e93d55c0 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ae92ae8e64fbb4c6fa7d87cc1e93d55c0"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#ae92ae8e64fbb4c6fa7d87cc1e93d55c0">EVENT_HANDLER</a>   <a class="el" href="class_p_i_object.html#ab605cf0454d34cc72c65bfed2abd696a">EVENT_HANDLER0</a></td></tr>
|
|
<tr class="memdesc:ae92ae8e64fbb4c6fa7d87cc1e93d55c0 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">EVENT_HANDLER is synonym of EVENT_HANDLER0. <br /></td></tr>
|
|
<tr class="separator:ae92ae8e64fbb4c6fa7d87cc1e93d55c0 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a338377c8ec10707dd26a168b8aef5c31 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a338377c8ec10707dd26a168b8aef5c31"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a338377c8ec10707dd26a168b8aef5c31">EVENT_VHANDLER0</a>(ret, <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>)   virtual ret <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>()</td></tr>
|
|
<tr class="memdesc:a338377c8ec10707dd26a168b8aef5c31 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare virtual event handler "event" with name "name" and return type "ret", virtual ret <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275" title="Returns object name. ">name()</a> <br /></td></tr>
|
|
<tr class="separator:a338377c8ec10707dd26a168b8aef5c31 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abf138848427466a7ae91ada5876f926d inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="abf138848427466a7ae91ada5876f926d"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#abf138848427466a7ae91ada5876f926d">EVENT_VHANDLER1</a>(ret, <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, type0, var0)   virtual ret <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>(type0 var0)</td></tr>
|
|
<tr class="memdesc:abf138848427466a7ae91ada5876f926d inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare virtual event handler "event" with name "name" and return type "ret", virtual ret name(type0 var0) <br /></td></tr>
|
|
<tr class="separator:abf138848427466a7ae91ada5876f926d inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad0ba4a14c77b8d968dc13918f9b2d384 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ad0ba4a14c77b8d968dc13918f9b2d384"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#ad0ba4a14c77b8d968dc13918f9b2d384">EVENT_VHANDLER2</a>(ret, <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, type0, var0, type1, var1)   virtual ret <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>(type0 var0, type1 var1)</td></tr>
|
|
<tr class="memdesc:ad0ba4a14c77b8d968dc13918f9b2d384 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare virtual event handler "event" with name "name" and return type "ret", virtual ret name(type0 var0, type1 var1) <br /></td></tr>
|
|
<tr class="separator:ad0ba4a14c77b8d968dc13918f9b2d384 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4f47b429ac594cebdca1567e1b9a1021 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a4f47b429ac594cebdca1567e1b9a1021"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a4f47b429ac594cebdca1567e1b9a1021">EVENT_VHANDLER3</a>(ret, <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, type0, var0, type1, var1, type2, var2)   virtual ret <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>(type0 var0, type1 var1, type2 var2)</td></tr>
|
|
<tr class="memdesc:a4f47b429ac594cebdca1567e1b9a1021 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare virtual event handler "event" with name "name" and return type "ret", virtual ret name(type0 var0, type1 var1, type2 var2) <br /></td></tr>
|
|
<tr class="separator:a4f47b429ac594cebdca1567e1b9a1021 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a96b2461314db11f3b68942bcd4b9d13d inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a96b2461314db11f3b68942bcd4b9d13d"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a96b2461314db11f3b68942bcd4b9d13d">EVENT_VHANDLER4</a>(ret, <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, type0, var0, type1, var1, type2, var2, type3, var3)   virtual ret <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>(type0 var0, type1 var1, type2 var2, type3 var3)</td></tr>
|
|
<tr class="memdesc:a96b2461314db11f3b68942bcd4b9d13d inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare virtual event handler "event" with name "name" and return type "ret", virtual ret name(type0 var0, type1 var1, type2 var2, type3 var3) <br /></td></tr>
|
|
<tr class="separator:a96b2461314db11f3b68942bcd4b9d13d inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a26a0e3181ebb2a90c11e9a7eb906a99e inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a26a0e3181ebb2a90c11e9a7eb906a99e"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a26a0e3181ebb2a90c11e9a7eb906a99e">EVENT_VHANDLER</a>   <a class="el" href="class_p_i_object.html#a338377c8ec10707dd26a168b8aef5c31">EVENT_VHANDLER0</a></td></tr>
|
|
<tr class="memdesc:a26a0e3181ebb2a90c11e9a7eb906a99e inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">EVENT_VHANDLER is synonym of EVENT_VHANDLER0. <br /></td></tr>
|
|
<tr class="separator:a26a0e3181ebb2a90c11e9a7eb906a99e inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4fa760299649bc8aeaa0dcf4d605be70 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a4fa760299649bc8aeaa0dcf4d605be70"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a4fa760299649bc8aeaa0dcf4d605be70">EVENT0</a>(<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>)   void <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>();</td></tr>
|
|
<tr class="memdesc:a4fa760299649bc8aeaa0dcf4d605be70 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare event "event" with name "name", void <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275" title="Returns object name. ">name()</a>; <br /></td></tr>
|
|
<tr class="separator:a4fa760299649bc8aeaa0dcf4d605be70 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7083e0b630c70def2ce05d60d70a45b9 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a7083e0b630c70def2ce05d60d70a45b9"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a7083e0b630c70def2ce05d60d70a45b9">EVENT1</a>(<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, type0, var0)   void <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>(type0 var0);</td></tr>
|
|
<tr class="memdesc:a7083e0b630c70def2ce05d60d70a45b9 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare event "event" with name "name", void name(type0 var0); <br /></td></tr>
|
|
<tr class="separator:a7083e0b630c70def2ce05d60d70a45b9 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a91d380b7235ad11b4830c4c2e8860618 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a91d380b7235ad11b4830c4c2e8860618"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a91d380b7235ad11b4830c4c2e8860618">EVENT2</a>(<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, type0, var0, type1, var1)   void <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>(type0 var0, type1 var1);</td></tr>
|
|
<tr class="memdesc:a91d380b7235ad11b4830c4c2e8860618 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare event "event" with name "name", void name(type0 var0, type1 var1); <br /></td></tr>
|
|
<tr class="separator:a91d380b7235ad11b4830c4c2e8860618 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a685a85b0791e73158dc0173b4e18dd00 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a685a85b0791e73158dc0173b4e18dd00"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a685a85b0791e73158dc0173b4e18dd00">EVENT3</a>(<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, type0, var0, type1, var1, type2, var2)   void <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>(type0 var0, type1 var1, type2 var2);</td></tr>
|
|
<tr class="memdesc:a685a85b0791e73158dc0173b4e18dd00 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare event "event" with name "name", void name(type0 var0, type1 var1, type2 var2); <br /></td></tr>
|
|
<tr class="separator:a685a85b0791e73158dc0173b4e18dd00 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a59032ae5e0b94cdfb52be1f24d5e8252 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a59032ae5e0b94cdfb52be1f24d5e8252"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a59032ae5e0b94cdfb52be1f24d5e8252">EVENT4</a>(<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, type0, var0, type1, var1, type2, var2, type3, var3)   void <a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>(type0 var0, type1 var1, type2 var2, type3 var3);</td></tr>
|
|
<tr class="memdesc:a59032ae5e0b94cdfb52be1f24d5e8252 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">declare event "event" with name "name", void name(type0 var0, type1 var1, type2 var2, type3 var3); <br /></td></tr>
|
|
<tr class="separator:a59032ae5e0b94cdfb52be1f24d5e8252 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7877e997621e1161f058fce90febd464 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a7877e997621e1161f058fce90febd464"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a7877e997621e1161f058fce90febd464">EVENT</a>   <a class="el" href="class_p_i_object.html#a4fa760299649bc8aeaa0dcf4d605be70">EVENT0</a></td></tr>
|
|
<tr class="memdesc:a7877e997621e1161f058fce90febd464 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">EVENT is synonym of EVENT0. <br /></td></tr>
|
|
<tr class="separator:a7877e997621e1161f058fce90febd464 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac86f9567fcbe10d7e49685e0a01b8427 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ac86f9567fcbe10d7e49685e0a01b8427"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#ac86f9567fcbe10d7e49685e0a01b8427">CONNECTU</a>(src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:ac86f9567fcbe10d7e49685e0a01b8427 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">connect event "event" from object "src" to event handler "handler". "Event" and "handler" must has equal argument lists. <br /></td></tr>
|
|
<tr class="separator:ac86f9567fcbe10d7e49685e0a01b8427 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a36eb41db41fc261cf97260d1dbe76867 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a36eb41db41fc261cf97260d1dbe76867"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a36eb41db41fc261cf97260d1dbe76867">CONNECTU_QUEUED</a>(src, event, dest, handler, performer)</td></tr>
|
|
<tr class="memdesc:a36eb41db41fc261cf97260d1dbe76867 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">connect event "event" from object "src" to event handler "handler". Event handler will be executed by "performer". "Event" and "handler" must has equal argument lists. <br /></td></tr>
|
|
<tr class="separator:a36eb41db41fc261cf97260d1dbe76867 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a38e74a7ce99df00a10517f5ce4aa66c5 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a38e74a7ce99df00a10517f5ce4aa66c5"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a38e74a7ce99df00a10517f5ce4aa66c5">CONNECT0</a>(ret, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:a38e74a7ce99df00a10517f5ce4aa66c5 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists <br /></td></tr>
|
|
<tr class="separator:a38e74a7ce99df00a10517f5ce4aa66c5 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a36132851189bb01db4957595111a28db inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a36132851189bb01db4957595111a28db"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a36132851189bb01db4957595111a28db">CONNECT1</a>(ret, type0, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:a36132851189bb01db4957595111a28db inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists <br /></td></tr>
|
|
<tr class="separator:a36132851189bb01db4957595111a28db inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a850bbf4e8361a106c99da4c46f684247 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a850bbf4e8361a106c99da4c46f684247"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a850bbf4e8361a106c99da4c46f684247">CONNECT2</a>(ret, type0, type1, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:a850bbf4e8361a106c99da4c46f684247 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists <br /></td></tr>
|
|
<tr class="separator:a850bbf4e8361a106c99da4c46f684247 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab45dbd69bde3cde22d4aba27ed585407 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ab45dbd69bde3cde22d4aba27ed585407"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#ab45dbd69bde3cde22d4aba27ed585407">CONNECT3</a>(ret, type0, type1, type2, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:ab45dbd69bde3cde22d4aba27ed585407 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists <br /></td></tr>
|
|
<tr class="separator:ab45dbd69bde3cde22d4aba27ed585407 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a34e41d730c07354e07333def3d854019 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a34e41d730c07354e07333def3d854019"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a34e41d730c07354e07333def3d854019">CONNECT4</a>(ret, type0, type1, type2, type3, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:a34e41d730c07354e07333def3d854019 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists <br /></td></tr>
|
|
<tr class="separator:a34e41d730c07354e07333def3d854019 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a65528c74adc6691eac2c7a2f39328064 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a65528c74adc6691eac2c7a2f39328064"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a65528c74adc6691eac2c7a2f39328064">CONNECT</a>   <a class="el" href="class_p_i_object.html#a38e74a7ce99df00a10517f5ce4aa66c5">CONNECT0</a></td></tr>
|
|
<tr class="memdesc:a65528c74adc6691eac2c7a2f39328064 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">CONNECT is synonym of CONNECT0. <br /></td></tr>
|
|
<tr class="separator:a65528c74adc6691eac2c7a2f39328064 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aaaba5b68617a43903056bc175b8cd162 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="aaaba5b68617a43903056bc175b8cd162"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#aaaba5b68617a43903056bc175b8cd162">WEAK_CONNECT0</a>(ret, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:aaaba5b68617a43903056bc175b8cd162 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists <br /></td></tr>
|
|
<tr class="separator:aaaba5b68617a43903056bc175b8cd162 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a37d80492e781bf82b9c22c56977da81e inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a37d80492e781bf82b9c22c56977da81e"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a37d80492e781bf82b9c22c56977da81e">WEAK_CONNECT1</a>(ret, type0, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:a37d80492e781bf82b9c22c56977da81e inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists <br /></td></tr>
|
|
<tr class="separator:a37d80492e781bf82b9c22c56977da81e inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a34134cc70172ef5a8d38ba8eb0db327d inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a34134cc70172ef5a8d38ba8eb0db327d"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a34134cc70172ef5a8d38ba8eb0db327d">WEAK_CONNECT2</a>(ret, type0, type1, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:a34134cc70172ef5a8d38ba8eb0db327d inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists <br /></td></tr>
|
|
<tr class="separator:a34134cc70172ef5a8d38ba8eb0db327d inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a601eb7e6e4c3c1a2ba741abbaf271fed inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a601eb7e6e4c3c1a2ba741abbaf271fed"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a601eb7e6e4c3c1a2ba741abbaf271fed">WEAK_CONNECT3</a>(ret, type0, type1, type2, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:a601eb7e6e4c3c1a2ba741abbaf271fed inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists <br /></td></tr>
|
|
<tr class="separator:a601eb7e6e4c3c1a2ba741abbaf271fed inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a483ad0828f2c221308d95fd07ba1ee6e inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a483ad0828f2c221308d95fd07ba1ee6e"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a483ad0828f2c221308d95fd07ba1ee6e">WEAK_CONNECT4</a>(ret, type0, type1, type2, type3, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:a483ad0828f2c221308d95fd07ba1ee6e inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists <br /></td></tr>
|
|
<tr class="separator:a483ad0828f2c221308d95fd07ba1ee6e inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a52fc22658e025b4c15c8a2454d81b289 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a52fc22658e025b4c15c8a2454d81b289"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a52fc22658e025b4c15c8a2454d81b289">WEAK_CONNECT</a>   <a class="el" href="class_p_i_object.html#aaaba5b68617a43903056bc175b8cd162">WEAK_CONNECT0</a></td></tr>
|
|
<tr class="memdesc:a52fc22658e025b4c15c8a2454d81b289 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">WEAK_CONNECT is synonym of WEAK_CONNECT0. <br /></td></tr>
|
|
<tr class="separator:a52fc22658e025b4c15c8a2454d81b289 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aed7fd8edaccbbca33c51417ca43ac32a inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="aed7fd8edaccbbca33c51417ca43ac32a"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#aed7fd8edaccbbca33c51417ca43ac32a">DISCONNECT0</a>(ret, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:aed7fd8edaccbbca33c51417ca43ac32a inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" <br /></td></tr>
|
|
<tr class="separator:aed7fd8edaccbbca33c51417ca43ac32a inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae030e8deb226c636d2df22076391f12c inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ae030e8deb226c636d2df22076391f12c"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#ae030e8deb226c636d2df22076391f12c">DISCONNECT1</a>(ret, type0, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:ae030e8deb226c636d2df22076391f12c inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" <br /></td></tr>
|
|
<tr class="separator:ae030e8deb226c636d2df22076391f12c inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8f0609bfd7dfcd4512d76480bc114dab inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a8f0609bfd7dfcd4512d76480bc114dab"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a8f0609bfd7dfcd4512d76480bc114dab">DISCONNECT2</a>(ret, type0, type1, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:a8f0609bfd7dfcd4512d76480bc114dab inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" <br /></td></tr>
|
|
<tr class="separator:a8f0609bfd7dfcd4512d76480bc114dab inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af2789f99d1916f231fc579f00370fa6f inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="af2789f99d1916f231fc579f00370fa6f"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#af2789f99d1916f231fc579f00370fa6f">DISCONNECT3</a>(ret, type0, type1, type2, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:af2789f99d1916f231fc579f00370fa6f inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" <br /></td></tr>
|
|
<tr class="separator:af2789f99d1916f231fc579f00370fa6f inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aedf429d3192da764163c1377cad310e3 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="aedf429d3192da764163c1377cad310e3"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#aedf429d3192da764163c1377cad310e3">DISCONNECT4</a>(ret, type0, type1, type2, type3, src, event, dest, handler)</td></tr>
|
|
<tr class="memdesc:aedf429d3192da764163c1377cad310e3 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" <br /></td></tr>
|
|
<tr class="separator:aedf429d3192da764163c1377cad310e3 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a587604e6f3570c0fc32794384d4d0d1f inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a587604e6f3570c0fc32794384d4d0d1f"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a587604e6f3570c0fc32794384d4d0d1f">DISCONNECT</a>   <a class="el" href="class_p_i_object.html#aed7fd8edaccbbca33c51417ca43ac32a">DISCONNECT0</a></td></tr>
|
|
<tr class="memdesc:a587604e6f3570c0fc32794384d4d0d1f inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">DISCONNECT is synonym of DISCONNECT0. <br /></td></tr>
|
|
<tr class="separator:a587604e6f3570c0fc32794384d4d0d1f inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3f7b0da6b28ced23e1deee48dde17c98 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a3f7b0da6b28ced23e1deee48dde17c98"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a3f7b0da6b28ced23e1deee48dde17c98">HANDLER</a>(handler)</td></tr>
|
|
<tr class="memdesc:a3f7b0da6b28ced23e1deee48dde17c98 inherit related_class_p_i_object"><td class="mdescLeft"> </td><td class="mdescRight">Returns pointer to events handler "handler". <br /></td></tr>
|
|
<tr class="separator:a3f7b0da6b28ced23e1deee48dde17c98 inherit related_class_p_i_object"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><h3>template<typename Type = int><br />
|
|
class PIStateMachine< Type ></h3>
|
|
|
|
<p>Base class for custom state machine. </p>
|
|
<h1><a class="anchor" id="PIStateMachine_synopsis"></a>
|
|
Synopsis</h1>
|
|
<p>This class provide functionality of state machine. You should inherit from this class, implement <em><a class="el" href="class_p_i_state_machine.html#a59c79d761ab1c4b64a655e55c6a93904" title="Reimplement this function to process current state of machine. ">execution()</a></em> and <em><a class="el" href="class_p_i_state_machine.html#ad848623075776b802de3fc22b4a08cea" title="Reimplement this function to process switching current state of machine. ">transition()</a></em> functions, set rules and periodically call <em><a class="el" href="class_p_i_state_machine.html#a37e8b9df953d6948e84d061bc02e5903" title="Main function of machine. Execute execution() and check if need to switch state. ">tick()</a></em> function to proper work of machine.</p>
|
|
<h1><a class="anchor" id="PIStateMachine_prepare"></a>
|
|
Prepare for work</h1>
|
|
<p>State machine operates with "state", "rule" and "condition".</p><ul>
|
|
<li>"State" is some class (by default <code>int</code>), associated name and optional "handler" - pointer to function executed on every <em><a class="el" href="class_p_i_state_machine.html#a37e8b9df953d6948e84d061bc02e5903" title="Main function of machine. Execute execution() and check if need to switch state. ">tick()</a></em>;</li>
|
|
<li>"Rule" define rule of transition from one machine state to other. It is also has optional "handler";</li>
|
|
<li>"Condition" is a part of rule and define possibility of transition.</li>
|
|
</ul>
|
|
<p>First of all you should define states of your machine by function <em><a class="el" href="class_p_i_state_machine.html#ac26f6300f7545b0182e3a52805b04cd6" title="Add state of machine. ">addState()</a></em>. Then you should define transition rules for machine by function <em><a class="el" href="class_p_i_state_machine.html#aee180e7f75ece9aef1c3d8a94095ed21" title="Add rule of transition. ">addRule()</a></em>. Finally you can set initial state by function <em><a class="el" href="class_p_i_state_machine.html#a42b22e027a498659282a4838d576eb80" title="Setup initial state. reset() will set machine state to "value". ">setInitialState()</a></em> and provide periodically execution of function <em><a class="el" href="class_p_i_state_machine.html#a37e8b9df953d6948e84d061bc02e5903" title="Main function of machine. Execute execution() and check if need to switch state. ">tick()</a></em>.</p>
|
|
<h1><a class="anchor" id="PIStateMachine_principle"></a>
|
|
Principle of work</h1>
|
|
<p>At any time the state machine is in some state. You can ask machine to enter in new state by function <em><a class="el" href="class_p_i_state_machine.html#af4aa7b86c70425bfc9690e4c27ab6cf7" title="Try to switch machine state to state "to". ">switchToState()</a></em>. If all conditions done machine switch it state immediately, else machine remember request and will be try switch to the new state every tick. Successfull state switching execute function <em><a class="el" href="class_p_i_state_machine.html#ad848623075776b802de3fc22b4a08cea" title="Reimplement this function to process switching current state of machine. ">transition()</a></em>, every tick execute function <em><a class="el" href="class_p_i_state_machine.html#a59c79d761ab1c4b64a655e55c6a93904" title="Reimplement this function to process current state of machine. ">execution()</a></em> with current state. On successfull transition if rule "handler" is not null it execute. Every <em><a class="el" href="class_p_i_state_machine.html#a37e8b9df953d6948e84d061bc02e5903" title="Main function of machine. Execute execution() and check if need to switch state. ">tick()</a></em> if current state "handler" is not null it execute.</p>
|
|
<h1><a class="anchor" id="PIStateMachine_conditions"></a>
|
|
Conditions</h1>
|
|
<p>Each rule has transition condition. Condition is array of pairs (string, number). It means that every condition by name "string" should be performed as least "number" times. Empty condition always permits transition.</p>
|
|
<p>State machine have current performed conditions. You can read this conditions by function <em><a class="el" href="class_p_i_state_machine.html#ac8e92d5d192d91ecfca071adbb8d514e" title="Returns all current performed conditions. ">currentConditions()</a></em> and perform new conditions by functions <em><a class="el" href="class_p_i_state_machine.html#a0c51b3d6ffd0a96ae5b24a2c06ae20e3" title="Perform condition with name "name" "times" times. ">performCondition()</a></em> and <em><a class="el" href="class_p_i_state_machine.html#a0c2a680c0a10c9440bbe89dccc55ee0c" title="Perform every condition with name from "names" one time. ">performConditions()</a></em>. Currend conditions can de erased by function <em><a class="el" href="class_p_i_state_machine.html#aa932844b2866a28e24028020c33fe23a" title="Reset all performed conditions. ">resetConditions()</a></em>.</p>
|
|
<h1><a class="anchor" id="PIStateMachine_example"></a>
|
|
Example</h1>
|
|
<p>This is simple example demonstrates all features: </p><div class="fragment"><div class="line"><span class="preprocessor">#include "pip.h"</span></div><div class="line"></div><div class="line"><span class="keyword">enum</span> Mode {Start, Manual, Auto, Finish, End};</div><div class="line"></div><div class="line"><span class="keyword">class </span>Machine: <span class="keyword">public</span> <a class="code" href="class_p_i_state_machine.html">PIStateMachine</a><Mode> {</div><div class="line"> <a class="code" href="class_p_i_object.html#a8cd6444e57a0f7f25888c8b8293d3543">PIOBJECT_SUBCLASS</a>(Machine, <a class="code" href="class_p_i_object.html">PIObject</a>)</div><div class="line"><span class="keyword">public</span>:</div><div class="line"> Machine() {</div><div class="line"> <a class="code" href="class_p_i_state_machine.html#ac26f6300f7545b0182e3a52805b04cd6">addState</a>(Start, <span class="stringliteral">"start"</span>, <a class="code" href="class_p_i_object.html#a3f7b0da6b28ced23e1deee48dde17c98">HANDLER</a>(startFunc));</div><div class="line"> <a class="code" href="class_p_i_state_machine.html#ac26f6300f7545b0182e3a52805b04cd6">addState</a>(Manual, <span class="stringliteral">"manual"</span>, <a class="code" href="class_p_i_object.html#a3f7b0da6b28ced23e1deee48dde17c98">HANDLER</a>(manualFunc));</div><div class="line"> <a class="code" href="class_p_i_state_machine.html#ac26f6300f7545b0182e3a52805b04cd6">addState</a>(Auto, <span class="stringliteral">"auto"</span>, <a class="code" href="class_p_i_object.html#a3f7b0da6b28ced23e1deee48dde17c98">HANDLER</a>(autoFunc));</div><div class="line"> <a class="code" href="class_p_i_state_machine.html#ac26f6300f7545b0182e3a52805b04cd6">addState</a>(Finish, <span class="stringliteral">"finish"</span>, <a class="code" href="class_p_i_object.html#a3f7b0da6b28ced23e1deee48dde17c98">HANDLER</a>(finishFunc));</div><div class="line"> <a class="code" href="class_p_i_state_machine.html#ac26f6300f7545b0182e3a52805b04cd6">addState</a>(End, <span class="stringliteral">"end"</span>, <a class="code" href="class_p_i_object.html#a3f7b0da6b28ced23e1deee48dde17c98">HANDLER</a>(endFunc));</div><div class="line"> </div><div class="line"> <a class="code" href="class_p_i_state_machine.html#aee180e7f75ece9aef1c3d8a94095ed21">addRule</a>(Start, Manual, <span class="stringliteral">"init_ok"</span>, <a class="code" href="class_p_i_object.html#a3f7b0da6b28ced23e1deee48dde17c98">HANDLER</a>(beginManualFunc));</div><div class="line"> <a class="code" href="class_p_i_state_machine.html#aee180e7f75ece9aef1c3d8a94095ed21">addRule</a>(Start, Auto, <span class="stringliteral">"init_ok"</span>, <a class="code" href="class_p_i_object.html#a3f7b0da6b28ced23e1deee48dde17c98">HANDLER</a>(beginAutoFunc));</div><div class="line"> <a class="code" href="class_p_i_state_machine.html#aee180e7f75ece9aef1c3d8a94095ed21">addRule</a>(Manual, Auto, <a class="code" href="class_p_i_object.html#a3f7b0da6b28ced23e1deee48dde17c98">HANDLER</a>(manualToAutoFunc));</div><div class="line"> <a class="code" href="class_p_i_state_machine.html#aee180e7f75ece9aef1c3d8a94095ed21">addRule</a>(Auto, Manual, <a class="code" href="class_p_i_object.html#a3f7b0da6b28ced23e1deee48dde17c98">HANDLER</a>(autoToManualFunc));</div><div class="line"> <a class="code" href="class_p_i_state_machine.html#aee180e7f75ece9aef1c3d8a94095ed21">addRule</a>(Manual, Finish);</div><div class="line"> <a class="code" href="class_p_i_state_machine.html#aee180e7f75ece9aef1c3d8a94095ed21">addRule</a>(Auto, Finish);</div><div class="line"> Rule r(Finish, End);</div><div class="line"> r.addCondition(<span class="stringliteral">"finish_0_ok"</span>);</div><div class="line"> r.addCondition(<span class="stringliteral">"finish_1_ok"</span>, 2);</div><div class="line"> <a class="code" href="class_p_i_state_machine.html#aee180e7f75ece9aef1c3d8a94095ed21">addRule</a>(r);</div><div class="line"> </div><div class="line"> <a class="code" href="class_p_i_state_machine.html#a42b22e027a498659282a4838d576eb80">setInitialState</a>(Start);</div><div class="line"> </div><div class="line"> <a class="code" href="class_p_i_object.html#a850bbf4e8361a106c99da4c46f684247">CONNECT2</a>(<span class="keywordtype">void</span>, <span class="keywordtype">void</span>*, <span class="keywordtype">int</span>, &timer, timeout, <span class="keyword">this</span>, <a class="code" href="class_p_i_state_machine.html#a37e8b9df953d6948e84d061bc02e5903">tick</a>);</div><div class="line"> timer.start(500);</div><div class="line"> }</div><div class="line"> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_p_i_state_machine.html#a59c79d761ab1c4b64a655e55c6a93904">execution</a>(<span class="keyword">const</span> State & state) {</div><div class="line"> <a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> << <span class="stringliteral">"performed conditions:"</span> << <a class="code" href="class_p_i_state_machine.html#ac8e92d5d192d91ecfca071adbb8d514e">currentConditions</a>();</div><div class="line"> }</div><div class="line"> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_p_i_state_machine.html#ad848623075776b802de3fc22b4a08cea">transition</a>(<span class="keyword">const</span> State & from, <span class="keyword">const</span> State & to) {</div><div class="line"> <a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> << <span class="stringliteral">"switch from"</span> << from.name << <span class="stringliteral">"to"</span> << to.name << <span class="stringliteral">"state"</span>;</div><div class="line"> }</div><div class="line"> </div><div class="line"> <a class="code" href="class_p_i_object.html#ae92ae8e64fbb4c6fa7d87cc1e93d55c0">EVENT_HANDLER</a>(<span class="keywordtype">void</span>, startFunc) {<a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> << <span class="stringliteral">"start function"</span>;}</div><div class="line"> <a class="code" href="class_p_i_object.html#ae92ae8e64fbb4c6fa7d87cc1e93d55c0">EVENT_HANDLER</a>(<span class="keywordtype">void</span>, manualFunc) {<a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> << <span class="stringliteral">"manual function"</span>;}</div><div class="line"> <a class="code" href="class_p_i_object.html#ae92ae8e64fbb4c6fa7d87cc1e93d55c0">EVENT_HANDLER</a>(<span class="keywordtype">void</span>, autoFunc) {<a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> << <span class="stringliteral">"auto function"</span>;}</div><div class="line"> <a class="code" href="class_p_i_object.html#ae92ae8e64fbb4c6fa7d87cc1e93d55c0">EVENT_HANDLER</a>(<span class="keywordtype">void</span>, finishFunc) {<a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> << <span class="stringliteral">"finish function"</span>;}</div><div class="line"> <a class="code" href="class_p_i_object.html#ae92ae8e64fbb4c6fa7d87cc1e93d55c0">EVENT_HANDLER</a>(<span class="keywordtype">void</span>, endFunc) {<a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> << <span class="stringliteral">"end function"</span>;}</div><div class="line"> <a class="code" href="class_p_i_object.html#ae92ae8e64fbb4c6fa7d87cc1e93d55c0">EVENT_HANDLER</a>(<span class="keywordtype">void</span>, beginManualFunc) {<a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> << <span class="stringliteral">"begin manual function"</span>;}</div><div class="line"> <a class="code" href="class_p_i_object.html#ae92ae8e64fbb4c6fa7d87cc1e93d55c0">EVENT_HANDLER</a>(<span class="keywordtype">void</span>, beginAutoFunc) {<a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> << <span class="stringliteral">"begin auto function"</span>;}</div><div class="line"> <a class="code" href="class_p_i_object.html#ae92ae8e64fbb4c6fa7d87cc1e93d55c0">EVENT_HANDLER</a>(<span class="keywordtype">void</span>, autoToManualFunc) {<a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> << <span class="stringliteral">"switch from auto to manual function"</span>;}</div><div class="line"> <a class="code" href="class_p_i_object.html#ae92ae8e64fbb4c6fa7d87cc1e93d55c0">EVENT_HANDLER</a>(<span class="keywordtype">void</span>, manualToAutoFunc) {<a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> << <span class="stringliteral">"switch from manual to auto function"</span>;}</div><div class="line"> </div><div class="line"> <a class="code" href="class_p_i_timer.html">PITimer</a> timer;</div><div class="line">};</div><div class="line"></div><div class="line">Machine machine;</div><div class="line"></div><div class="line"><span class="keywordtype">void</span> key_event(<span class="keywordtype">char</span> key, <span class="keywordtype">void</span>*) {</div><div class="line"> <span class="keywordflow">switch</span> (key) {</div><div class="line"> <span class="keywordflow">case</span> <span class="charliteral">'s'</span>: machine.switchToState(Start); <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> <span class="charliteral">'m'</span>: machine.switchToState(Manual); <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> <span class="charliteral">'a'</span>: machine.switchToState(Auto); <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> <span class="charliteral">'f'</span>: machine.switchToState(Finish); <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> <span class="charliteral">'e'</span>: machine.switchToState(End); <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> <span class="charliteral">'1'</span>: machine.performCondition(<span class="stringliteral">"init_ok"</span>); <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> <span class="charliteral">'2'</span>: machine.performCondition(<span class="stringliteral">"finish_0_ok"</span>); <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> <span class="charliteral">'3'</span>: machine.performCondition(<span class="stringliteral">"finish_1_ok"</span>); <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> <span class="charliteral">'r'</span>: machine.resetConditions(); <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> <span class="charliteral">'R'</span>: machine.reset(); <span class="keywordflow">break</span>;</div><div class="line"> }</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> * argv[]) {</div><div class="line"> <a class="code" href="class_p_i_kbd_listener.html">PIKbdListener</a> kbd(key_event);</div><div class="line"> kbd.enableExitCapture();</div><div class="line"> WAIT_FOR_EXIT</div><div class="line">};</div></div><!-- fragment --></div><h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="af4aa7b86c70425bfc9690e4c27ab6cf7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af4aa7b86c70425bfc9690e4c27ab6cf7">◆ </a></span>switchToState()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename Type = int> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="class_p_i_state_machine.html">PIStateMachine</a>< Type >::switchToState </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Type </td>
|
|
<td class="paramname"><em>to</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Try to switch machine state to state "to". </p>
|
|
<p>If there is rule of transition exists and this rule conditions is performed then machine switched to new state immediately. Otherwise machine will be try to enter to new state every <em><a class="el" href="class_p_i_state_machine.html#a37e8b9df953d6948e84d061bc02e5903" title="Main function of machine. Execute execution() and check if need to switch state. ">tick()</a></em>. </p><dl class="section return"><dt>Returns</dt><dd><code>true</code> if state switched immediately, otherwise <code>false</code> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="class_p_i_state_machine.html">PIStateMachine</a></li>
|
|
<li class="footer">Generated on Fri Sep 28 2018 21:06:37 for PIP by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|