Files
pip/doc/html/class_p_i_timer.html

764 lines
91 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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PIP: PITimer Class 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">
$(document).ready(initResizable);
</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
&#160;<span id="projectnumber">1.0.0_rc3</span>
</div>
<div id="projectbrief">Platform-Independent Primitives</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',false,false,'search.php','Search');
});
</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">
$(document).ready(function(){initNavTree('class_p_i_timer.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="class_p_i_timer-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">PITimer Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Timer.
<a href="class_p_i_timer.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for PITimer:</div>
<div class="dyncontent">
<div class="center"><img src="class_p_i_timer__inherit__graph.png" border="0" usemap="#_p_i_timer_inherit__map" alt="Inheritance graph"/></div>
<map name="_p_i_timer_inherit__map" id="_p_i_timer_inherit__map">
<area shape="rect" id="node3" href="class_p_i_diagnostics.html" title="Connection quality diagnostics. " alt="" coords="5,155,132,181"/>
<area shape="rect" id="node2" href="class_p_i_object.html" title="This is base class for any classes which use events &#45;&gt; handlers mechanism. " alt="" coords="25,5,112,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="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a02b36fbf7ae0839eb72c95cde343b719"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719">TimerImplementation</a> { <a class="el" href="class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719aee4dbda7d96c1ec6bc4a88310e7d4e51">Thread</a> = 0x01,
<a class="el" href="class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719a80970cf7914f7a34ad94fa6620b1f66b">ThreadRT</a> = 0x02,
<a class="el" href="class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719afc1ce0b87bd597621116ec5de765b6db">Pool</a> = 0x04
}<tr class="memdesc:a02b36fbf7ae0839eb72c95cde343b719"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer implementations. <a href="class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a02b36fbf7ae0839eb72c95cde343b719"><td class="memSeparator" colspan="2">&#160;</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:a3cc1d86602eb8d2abd8e0c9a9931cd70"><td class="memItemLeft" align="right" valign="top"><a id="a3cc1d86602eb8d2abd8e0c9a9931cd70"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a3cc1d86602eb8d2abd8e0c9a9931cd70">PITimer</a> ()</td></tr>
<tr class="memdesc:a3cc1d86602eb8d2abd8e0c9a9931cd70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs timer with <a class="el" href="class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719aee4dbda7d96c1ec6bc4a88310e7d4e51">PITimer::Thread</a> implementation. <br /></td></tr>
<tr class="separator:a3cc1d86602eb8d2abd8e0c9a9931cd70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cbb0321a650e4dd4acd046e58a67095"><td class="memItemLeft" align="right" valign="top"><a id="a0cbb0321a650e4dd4acd046e58a67095"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a0cbb0321a650e4dd4acd046e58a67095">PITimer</a> (<a class="el" href="class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719">TimerImplementation</a> ti)</td></tr>
<tr class="memdesc:a0cbb0321a650e4dd4acd046e58a67095"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs timer with "ti" implementation. <br /></td></tr>
<tr class="separator:a0cbb0321a650e4dd4acd046e58a67095"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d3067f66c06ddd21982251f4ed6ec50"><td class="memItemLeft" align="right" valign="top"><a id="a6d3067f66c06ddd21982251f4ed6ec50"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a6d3067f66c06ddd21982251f4ed6ec50">PITimer</a> (TimerEvent slot, void *<a class="el" href="class_p_i_timer.html#a1f19dec05dfe0bce6f449d71d3f5cd17">data</a>=0, <a class="el" href="class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719">TimerImplementation</a> ti=<a class="el" href="class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719aee4dbda7d96c1ec6bc4a88310e7d4e51">Thread</a>)</td></tr>
<tr class="memdesc:a6d3067f66c06ddd21982251f4ed6ec50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs timer with "slot" slot, "data" data and "ti" implementation. <br /></td></tr>
<tr class="separator:a6d3067f66c06ddd21982251f4ed6ec50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6222d3acfeee486cdfcdcf3659da8f44"><td class="memItemLeft" align="right" valign="top"><a id="a6222d3acfeee486cdfcdcf3659da8f44"></a>
<a class="el" href="class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719">PITimer::TimerImplementation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a6222d3acfeee486cdfcdcf3659da8f44">implementation</a> () const</td></tr>
<tr class="memdesc:a6222d3acfeee486cdfcdcf3659da8f44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns timer implementation. <br /></td></tr>
<tr class="separator:a6222d3acfeee486cdfcdcf3659da8f44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac43145e8c1cfb05585ebaf9c52df2925"><td class="memItemLeft" align="right" valign="top"><a id="ac43145e8c1cfb05585ebaf9c52df2925"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925">interval</a> () const</td></tr>
<tr class="memdesc:ac43145e8c1cfb05585ebaf9c52df2925"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns timer loop delay in milliseconds. <br /></td></tr>
<tr class="separator:ac43145e8c1cfb05585ebaf9c52df2925"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aceedb334c02e3ad05ec9215aa956b780"><td class="memItemLeft" align="right" valign="top"><a id="aceedb334c02e3ad05ec9215aa956b780"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#aceedb334c02e3ad05ec9215aa956b780">setInterval</a> (double ms)</td></tr>
<tr class="memdesc:aceedb334c02e3ad05ec9215aa956b780"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set timer loop delay in milliseconds. <br /></td></tr>
<tr class="separator:aceedb334c02e3ad05ec9215aa956b780"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14a09fe34c61889048d4ec3cc65ba48d"><td class="memItemLeft" align="right" valign="top"><a id="a14a09fe34c61889048d4ec3cc65ba48d"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a14a09fe34c61889048d4ec3cc65ba48d">isRunning</a> () const</td></tr>
<tr class="memdesc:a14a09fe34c61889048d4ec3cc65ba48d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if timer is started. <br /></td></tr>
<tr class="separator:a14a09fe34c61889048d4ec3cc65ba48d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa848ec18638179a219a16c8742d75bf"><td class="memItemLeft" align="right" valign="top"><a id="aaa848ec18638179a219a16c8742d75bf"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#aaa848ec18638179a219a16c8742d75bf">isStopped</a> () const</td></tr>
<tr class="memdesc:aaa848ec18638179a219a16c8742d75bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if timer is not started. <br /></td></tr>
<tr class="separator:aaa848ec18638179a219a16c8742d75bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45d3671ef5aa2126c0a42221c2b8963f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a45d3671ef5aa2126c0a42221c2b8963f">startDeferred</a> (double delay_ms)</td></tr>
<tr class="memdesc:a45d3671ef5aa2126c0a42221c2b8963f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start timer with <b><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></b> loop delay after <b>delay_msecs</b> delay. <a href="#a45d3671ef5aa2126c0a42221c2b8963f">More...</a><br /></td></tr>
<tr class="separator:a45d3671ef5aa2126c0a42221c2b8963f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48b7932379fdc15bd8bd577797f4173d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a48b7932379fdc15bd8bd577797f4173d">startDeferred</a> (double interval_ms, double delay_ms)</td></tr>
<tr class="memdesc:a48b7932379fdc15bd8bd577797f4173d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start timer with <b>interval_msecs</b> loop delay after <b>delay_msecs</b> delay. <a href="#a48b7932379fdc15bd8bd577797f4173d">More...</a><br /></td></tr>
<tr class="separator:a48b7932379fdc15bd8bd577797f4173d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88f6a55f2a7ab5d3c0835a92fb2f991f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a88f6a55f2a7ab5d3c0835a92fb2f991f">startDeferred</a> (PIDateTime start_datetime)</td></tr>
<tr class="memdesc:a88f6a55f2a7ab5d3c0835a92fb2f991f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start timer with <b><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></b> loop delay after <b>start_datetime</b> date and time. <a href="#a88f6a55f2a7ab5d3c0835a92fb2f991f">More...</a><br /></td></tr>
<tr class="separator:a88f6a55f2a7ab5d3c0835a92fb2f991f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fb5f7f9dede84fd02d4882b0899fc40"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a0fb5f7f9dede84fd02d4882b0899fc40">startDeferred</a> (double interval_ms, PIDateTime start_datetime)</td></tr>
<tr class="memdesc:a0fb5f7f9dede84fd02d4882b0899fc40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start timer with <b>interval_msecs</b> loop delay after <b>start_datetime</b> date and time. <a href="#a0fb5f7f9dede84fd02d4882b0899fc40">More...</a><br /></td></tr>
<tr class="separator:a0fb5f7f9dede84fd02d4882b0899fc40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa166b87d70f34ca63b9c39f8f03daea4"><td class="memItemLeft" align="right" valign="top"><a id="aa166b87d70f34ca63b9c39f8f03daea4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#aa166b87d70f34ca63b9c39f8f03daea4">setData</a> (void *data_)</td></tr>
<tr class="memdesc:aa166b87d70f34ca63b9c39f8f03daea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set custom data. <br /></td></tr>
<tr class="separator:aa166b87d70f34ca63b9c39f8f03daea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae55067d29d1491c6e583ca8db45fd0ba"><td class="memItemLeft" align="right" valign="top"><a id="ae55067d29d1491c6e583ca8db45fd0ba"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#ae55067d29d1491c6e583ca8db45fd0ba">setSlot</a> (TimerEvent slot)</td></tr>
<tr class="memdesc:ae55067d29d1491c6e583ca8db45fd0ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set timer tick function. <br /></td></tr>
<tr class="separator:ae55067d29d1491c6e583ca8db45fd0ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f19dec05dfe0bce6f449d71d3f5cd17"><td class="memItemLeft" align="right" valign="top"><a id="a1f19dec05dfe0bce6f449d71d3f5cd17"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a1f19dec05dfe0bce6f449d71d3f5cd17">data</a> () const</td></tr>
<tr class="memdesc:a1f19dec05dfe0bce6f449d71d3f5cd17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns common data passed to tick functions. <br /></td></tr>
<tr class="separator:a1f19dec05dfe0bce6f449d71d3f5cd17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace072dbf3b4ddbd609b6acf4e058d291"><td class="memItemLeft" align="right" valign="top"><a id="ace072dbf3b4ddbd609b6acf4e058d291"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#ace072dbf3b4ddbd609b6acf4e058d291">addDelimiter</a> (int delim, TimerEvent slot=0)</td></tr>
<tr class="memdesc:ace072dbf3b4ddbd609b6acf4e058d291"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add frequency delimiter <b>delim</b> with optional delimiter slot <b>slot</b>. <br /></td></tr>
<tr class="separator:ace072dbf3b4ddbd609b6acf4e058d291"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab02f5a19cb71a4be4965a1d670c7ff72"><td class="memItemLeft" align="right" valign="top"><a id="ab02f5a19cb71a4be4965a1d670c7ff72"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#ab02f5a19cb71a4be4965a1d670c7ff72">removeDelimiter</a> (int delim)</td></tr>
<tr class="memdesc:ab02f5a19cb71a4be4965a1d670c7ff72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove all frequency delimiters <b>delim</b>. <br /></td></tr>
<tr class="separator:ab02f5a19cb71a4be4965a1d670c7ff72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2809e63e8678dc914a9b521fa0de7a09"><td class="memItemLeft" align="right" valign="top"><a id="a2809e63e8678dc914a9b521fa0de7a09"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a2809e63e8678dc914a9b521fa0de7a09">removeDelimiter</a> (TimerEvent slot)</td></tr>
<tr class="memdesc:a2809e63e8678dc914a9b521fa0de7a09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove all frequency delimiters with slot <b>slot</b>. <br /></td></tr>
<tr class="separator:a2809e63e8678dc914a9b521fa0de7a09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a093ee618f2beac2794a469c76f8064f1"><td class="memItemLeft" align="right" valign="top"><a id="a093ee618f2beac2794a469c76f8064f1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a093ee618f2beac2794a469c76f8064f1">removeDelimiter</a> (int delim, TimerEvent slot)</td></tr>
<tr class="memdesc:a093ee618f2beac2794a469c76f8064f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove all frequency delimiters <b>delim</b> with slot <b>slot</b>. <br /></td></tr>
<tr class="separator:a093ee618f2beac2794a469c76f8064f1"><td class="memSeparator" colspan="2">&#160;</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="-"/>&#160;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>
&#160;</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> &amp;<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">&#160;</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 -&gt; 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">&#160;</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>&#160;</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">&#160;</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">&#160;</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 *&#160;</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">&#160;</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">&#160;</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 *&#160;</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">&#160;</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">&#160;</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&#160;</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">&#160;</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">&#160;</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&#160;</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> &amp;<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">&#160;</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">&#160;</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&#160;</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">&#160;</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">&#160;</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&lt; <a class="el" href="class_p_i_string.html">PIString</a>, <a class="el" href="class_p_i_variant.html">PIVariant</a> &gt; &amp;&#160;</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">&#160;</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">&#160;</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&#160;</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">&#160;</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">&#160;</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>&#160;</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> &amp;<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">&#160;</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">&#160;</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&#160;</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> &amp;<a class="el" href="class_p_i_object.html#a5c3600479f3e919bbd4f905b7fedc275">name</a>, const <a class="el" href="class_p_i_variant.html">PIVariant</a> &amp;value)</td></tr>
<tr class="memdesc:a647e2f79b975cf88d636a2ca2dadfb9c inherit pub_methods_class_p_i_object"><td class="mdescLeft">&#160;</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">&#160;</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&#160;</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> &amp;<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">&#160;</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">&#160;</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:af94038669f0798c21cc2208da9945406"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#af94038669f0798c21cc2208da9945406">tick</a> (void *data_, int delimiter)</td></tr>
<tr class="separator:af94038669f0798c21cc2208da9945406"><td class="memSeparator" colspan="2">&#160;</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="-"/>&#160;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> *&#160;</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">&#160;</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">&#160;</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&#160;</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> &amp;<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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a3d5e7421d26c565d1c20bfa5220c2601 inherit pro_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</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:afbe09c4d09f0dc897045037c1042cd70"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#afbe09c4d09f0dc897045037c1042cd70">start</a> ()</td></tr>
<tr class="memdesc:afbe09c4d09f0dc897045037c1042cd70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start timer with <em><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></em> loop delay. <a href="#afbe09c4d09f0dc897045037c1042cd70">More...</a><br /></td></tr>
<tr class="separator:afbe09c4d09f0dc897045037c1042cd70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65431888fc569599e6b3ff27c1617e00"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a65431888fc569599e6b3ff27c1617e00">start</a> (double interval_ms_d)</td></tr>
<tr class="memdesc:a65431888fc569599e6b3ff27c1617e00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start timer with <b>msecs</b> loop delay. <a href="#a65431888fc569599e6b3ff27c1617e00">More...</a><br /></td></tr>
<tr class="separator:a65431888fc569599e6b3ff27c1617e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae899576c5a8b605a749f9c6f09773087"><td class="memItemLeft" align="right" valign="top"><a id="ae899576c5a8b605a749f9c6f09773087"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#ae899576c5a8b605a749f9c6f09773087">restart</a> ()</td></tr>
<tr class="memdesc:ae899576c5a8b605a749f9c6f09773087"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop and start timer with <em><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></em> loop delay. <br /></td></tr>
<tr class="separator:ae899576c5a8b605a749f9c6f09773087"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae43b33b748524fbef3ec5ad705977737"><td class="memItemLeft" align="right" valign="top"><a id="ae43b33b748524fbef3ec5ad705977737"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#ae43b33b748524fbef3ec5ad705977737">stop</a> ()</td></tr>
<tr class="memdesc:ae43b33b748524fbef3ec5ad705977737"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop timer. <br /></td></tr>
<tr class="separator:ae43b33b748524fbef3ec5ad705977737"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2968d6a3aefc4c609cbeaf9f301a41f9"><td class="memItemLeft" align="right" valign="top"><a id="a2968d6a3aefc4c609cbeaf9f301a41f9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a2968d6a3aefc4c609cbeaf9f301a41f9">clearDelimiters</a> ()</td></tr>
<tr class="memdesc:a2968d6a3aefc4c609cbeaf9f301a41f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove all frequency delimiters. <br /></td></tr>
<tr class="separator:a2968d6a3aefc4c609cbeaf9f301a41f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Events</h2></td></tr>
<tr class="memitem:a707cb908c36f42dab13338c42ede4a81"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_timer.html#a707cb908c36f42dab13338c42ede4a81">tickEvent</a> (void *data_, int delimiter)</td></tr>
<tr class="memdesc:a707cb908c36f42dab13338c42ede4a81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raise on timer tick. <a href="#a707cb908c36f42dab13338c42ede4a81">More...</a><br /></td></tr>
<tr class="separator:a707cb908c36f42dab13338c42ede4a81"><td class="memSeparator" colspan="2">&#160;</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="-"/>&#160;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&#160;</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> &amp;sig)</td></tr>
<tr class="memdesc:af4581f822cb17c489e34da1abca2764a inherit pub_static_methods_class_p_i_object"><td class="mdescLeft">&#160;</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">&#160;</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&#160;</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">&#160;</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">&#160;</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> *&#160;</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> &amp;<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">&#160;</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">&#160;</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="-"/>&#160;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&#160;</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">&#160;</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 -&gt; handlers mechanism. ">PIObject</a>. <br /></td></tr>
<tr class="separator:a722b67a967e55918f6921de66ecffce9 inherit related_class_p_i_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affa62b02040517a34b3f173d804e487f inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="affa62b02040517a34b3f173d804e487f"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a8cd6444e57a0f7f25888c8b8293d3543 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a8cd6444e57a0f7f25888c8b8293d3543"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ab605cf0454d34cc72c65bfed2abd696a inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ab605cf0454d34cc72c65bfed2abd696a"></a>
#define&#160;</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>)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a56defa004e9b7efb2db50b3a43ca7225 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a56defa004e9b7efb2db50b3a43ca7225"></a>
#define&#160;</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)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:abb64b696544ee4ee8715add9747c1293 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="abb64b696544ee4ee8715add9747c1293"></a>
#define&#160;</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)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:af90eced49fbdb43f5fc631fa7e7a44fb inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="af90eced49fbdb43f5fc631fa7e7a44fb"></a>
#define&#160;</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)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ae8a8499ba07a4cc16c0b15c51b197d9f inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ae8a8499ba07a4cc16c0b15c51b197d9f"></a>
#define&#160;</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)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ae92ae8e64fbb4c6fa7d87cc1e93d55c0 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ae92ae8e64fbb4c6fa7d87cc1e93d55c0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#ae92ae8e64fbb4c6fa7d87cc1e93d55c0">EVENT_HANDLER</a>&#160;&#160;&#160;<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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a338377c8ec10707dd26a168b8aef5c31 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a338377c8ec10707dd26a168b8aef5c31"></a>
#define&#160;</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>)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:abf138848427466a7ae91ada5876f926d inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="abf138848427466a7ae91ada5876f926d"></a>
#define&#160;</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)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ad0ba4a14c77b8d968dc13918f9b2d384 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ad0ba4a14c77b8d968dc13918f9b2d384"></a>
#define&#160;</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)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a4f47b429ac594cebdca1567e1b9a1021 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a4f47b429ac594cebdca1567e1b9a1021"></a>
#define&#160;</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)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a96b2461314db11f3b68942bcd4b9d13d inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a96b2461314db11f3b68942bcd4b9d13d"></a>
#define&#160;</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)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a26a0e3181ebb2a90c11e9a7eb906a99e inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a26a0e3181ebb2a90c11e9a7eb906a99e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a26a0e3181ebb2a90c11e9a7eb906a99e">EVENT_VHANDLER</a>&#160;&#160;&#160;<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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a4fa760299649bc8aeaa0dcf4d605be70 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a4fa760299649bc8aeaa0dcf4d605be70"></a>
#define&#160;</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>)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a7083e0b630c70def2ce05d60d70a45b9 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a7083e0b630c70def2ce05d60d70a45b9"></a>
#define&#160;</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)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a91d380b7235ad11b4830c4c2e8860618 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a91d380b7235ad11b4830c4c2e8860618"></a>
#define&#160;</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)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a685a85b0791e73158dc0173b4e18dd00 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a685a85b0791e73158dc0173b4e18dd00"></a>
#define&#160;</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)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a59032ae5e0b94cdfb52be1f24d5e8252 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a59032ae5e0b94cdfb52be1f24d5e8252"></a>
#define&#160;</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)&#160;&#160;&#160;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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a7877e997621e1161f058fce90febd464 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a7877e997621e1161f058fce90febd464"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a7877e997621e1161f058fce90febd464">EVENT</a>&#160;&#160;&#160;<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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ac86f9567fcbe10d7e49685e0a01b8427 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ac86f9567fcbe10d7e49685e0a01b8427"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a36eb41db41fc261cf97260d1dbe76867 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a36eb41db41fc261cf97260d1dbe76867"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a38e74a7ce99df00a10517f5ce4aa66c5 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a38e74a7ce99df00a10517f5ce4aa66c5"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a36132851189bb01db4957595111a28db inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a36132851189bb01db4957595111a28db"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a850bbf4e8361a106c99da4c46f684247 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a850bbf4e8361a106c99da4c46f684247"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ab45dbd69bde3cde22d4aba27ed585407 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ab45dbd69bde3cde22d4aba27ed585407"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a34e41d730c07354e07333def3d854019 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a34e41d730c07354e07333def3d854019"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a65528c74adc6691eac2c7a2f39328064 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a65528c74adc6691eac2c7a2f39328064"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a65528c74adc6691eac2c7a2f39328064">CONNECT</a>&#160;&#160;&#160;<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">&#160;</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">&#160;</td></tr>
<tr class="memitem:aaaba5b68617a43903056bc175b8cd162 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="aaaba5b68617a43903056bc175b8cd162"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a37d80492e781bf82b9c22c56977da81e inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a37d80492e781bf82b9c22c56977da81e"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a34134cc70172ef5a8d38ba8eb0db327d inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a34134cc70172ef5a8d38ba8eb0db327d"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a601eb7e6e4c3c1a2ba741abbaf271fed inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a601eb7e6e4c3c1a2ba741abbaf271fed"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a483ad0828f2c221308d95fd07ba1ee6e inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a483ad0828f2c221308d95fd07ba1ee6e"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a52fc22658e025b4c15c8a2454d81b289 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a52fc22658e025b4c15c8a2454d81b289"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a52fc22658e025b4c15c8a2454d81b289">WEAK_CONNECT</a>&#160;&#160;&#160;<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">&#160;</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">&#160;</td></tr>
<tr class="memitem:aed7fd8edaccbbca33c51417ca43ac32a inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="aed7fd8edaccbbca33c51417ca43ac32a"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ae030e8deb226c636d2df22076391f12c inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="ae030e8deb226c636d2df22076391f12c"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a8f0609bfd7dfcd4512d76480bc114dab inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a8f0609bfd7dfcd4512d76480bc114dab"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:af2789f99d1916f231fc579f00370fa6f inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="af2789f99d1916f231fc579f00370fa6f"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:aedf429d3192da764163c1377cad310e3 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="aedf429d3192da764163c1377cad310e3"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a587604e6f3570c0fc32794384d4d0d1f inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a587604e6f3570c0fc32794384d4d0d1f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a587604e6f3570c0fc32794384d4d0d1f">DISCONNECT</a>&#160;&#160;&#160;<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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a3f7b0da6b28ced23e1deee48dde17c98 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a id="a3f7b0da6b28ced23e1deee48dde17c98"></a>
#define&#160;</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">&#160;</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">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Timer. </p>
<h1><a class="anchor" id="PITimer_sec0"></a>
Synopsis</h1>
<p>This class implements timer function. PIP timers supports 3 way to tick notify, frequency delimiters and time measurements. </p>
<h1><a class="anchor" id="PITimer_sec1"></a>
Notify variants</h1>
<p>Notify variants:</p><ul>
<li>"slot" - static function with format void func(void * data, int delimiter);</li>
<li>event - <em><a class="el" href="class_p_i_timer.html#a707cb908c36f42dab13338c42ede4a81" title="Raise on timer tick. ">tickEvent()</a></em>;</li>
<li>virtual function - <em><a class="el" href="class_p_i_timer.html#af94038669f0798c21cc2208da9945406">tick()</a></em>.</li>
</ul>
<p>All these variants are equivalent, use most applicable. </p>
<h1><a class="anchor" id="PITimer_sec2"></a>
Frequency delimiters</h1>
<p>Frequency delimiter is an integer number and "slot" function. If "slot" function is null timer main "slot" will be used. Each delimiter numbers tick timer will be execute delimiters or timer main "slot" function with <b>delimiter</b> value = delimiter number. Example: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> tfunc(<span class="keywordtype">void</span> * , <span class="keywordtype">int</span> delim) {</div><div class="line"> <a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; <span class="stringliteral">&quot;tick with delimiter&quot;</span> &lt;&lt; delim;</div><div class="line">};</div><div class="line"><span class="keywordtype">void</span> tfunc4(<span class="keywordtype">void</span> * , <span class="keywordtype">int</span> delim) {</div><div class="line"> <a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; <span class="stringliteral">&quot;tick4 with delimiter&quot;</span> &lt;&lt; delim;</div><div class="line">};</div><div class="line"><span class="keywordtype">int</span> main() {</div><div class="line"> <a class="code" href="class_p_i_timer.html">PITimer</a> timer(tfunc);</div><div class="line"> timer.addDelimiter(2);</div><div class="line"> timer.addDelimiter(4, tfunc4);</div><div class="line"> timer.start(50);</div><div class="line"> <a class="code" href="pitime_8h.html#a10862d1267284ae224b51ad95f90c931">piMSleep</a>(200);</div><div class="line"> timer.stop();</div><div class="line"> timer.waitForFinish();</div><div class="line"> <span class="keywordflow">return</span> 0;</div><div class="line">};</div><div class="line"><span class="comment">/* Result:</span></div><div class="line"><span class="comment">tick with delimiter 1</span></div><div class="line"><span class="comment">tick with delimiter 1</span></div><div class="line"><span class="comment">tick with delimiter 2</span></div><div class="line"><span class="comment">tick with delimiter 1</span></div><div class="line"><span class="comment">tick with delimiter 1</span></div><div class="line"><span class="comment">tick with delimiter 2</span></div><div class="line"><span class="comment">tick4 with delimiter 4</span></div><div class="line"><span class="comment">*/</span></div></div><!-- fragment --><h1><a class="anchor" id="PITimer_sec3"></a>
Time measurements</h1>
<p><a class="el" href="class_p_i_timer.html" title="Timer. ">PITimer</a> can be used as time measurer. Function <em>reset()</em> set time mark to current system time, then functions double elapsed_*() returns time elapsed from this mark. These functions can returns nano-, micro-, milli- and seconds with suffixes "n", "u", "m" and "s" Example: </p><div class="fragment"><div class="line"><span class="keywordtype">int</span> main() {</div><div class="line"> <a class="code" href="class_p_i_timer.html">PITimer</a> timer;</div><div class="line"> <a class="code" href="pitime_8h.html#a10862d1267284ae224b51ad95f90c931">piMSleep</a>(100);</div><div class="line"> <a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; <span class="stringliteral">&quot;elapsed&quot;</span> &lt;&lt; timer.elapsed_m() &lt;&lt; <span class="stringliteral">&quot;ms&quot;</span>;</div><div class="line"> <a class="code" href="pitime_8h.html#a10862d1267284ae224b51ad95f90c931">piMSleep</a>(100);</div><div class="line"> <a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; <span class="stringliteral">&quot;elapsed&quot;</span> &lt;&lt; timer.elapsed_m() &lt;&lt; <span class="stringliteral">&quot;ms&quot;</span>;</div><div class="line"> timer.reset();</div><div class="line"> <a class="code" href="pitime_8h.html#a10862d1267284ae224b51ad95f90c931">piMSleep</a>(150);</div><div class="line"> <a class="code" href="picout_8h.html#ad21862cbba89aead064fbef4c825030e">piCout</a> &lt;&lt; <span class="stringliteral">&quot;elapsed&quot;</span> &lt;&lt; timer.elapsed_s() &lt;&lt; <span class="stringliteral">&quot;s&quot;</span>;</div><div class="line"> <span class="keywordflow">return</span> 0;</div><div class="line">};</div><div class="line"><span class="comment">/* Result:</span></div><div class="line"><span class="comment">elapsed 100 ms</span></div><div class="line"><span class="comment">elapsed 200 ms</span></div><div class="line"><span class="comment">elapsed 0.15 s</span></div><div class="line"><span class="comment">*/</span></div></div><!-- fragment --></div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a02b36fbf7ae0839eb72c95cde343b719"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02b36fbf7ae0839eb72c95cde343b719">&#9670;&nbsp;</a></span>TimerImplementation</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="class_p_i_timer.html#a02b36fbf7ae0839eb72c95cde343b719">PITimer::TimerImplementation</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Timer implementations. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a02b36fbf7ae0839eb72c95cde343b719aee4dbda7d96c1ec6bc4a88310e7d4e51"></a>Thread&#160;</td><td class="fielddoc"><p>Timer works in his own thread. Intervals are measured by the system time </p>
</td></tr>
<tr><td class="fieldname"><a id="a02b36fbf7ae0839eb72c95cde343b719a80970cf7914f7a34ad94fa6620b1f66b"></a>ThreadRT&#160;</td><td class="fielddoc"><p>Using POSIX timer with SIGEV_THREAD notification. </p><dl class="section attention"><dt>Attention</dt><dd>Doesn`t support on Windows and Mac OS! </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a02b36fbf7ae0839eb72c95cde343b719afc1ce0b87bd597621116ec5de765b6db"></a>Pool&#160;</td><td class="fielddoc"><p>Using single TimerPool for all timers with this implementation. TimerPool works as Thread implementation and sequentially executes all timers. </p><dl class="section attention"><dt>Attention</dt><dd>Use this implementation with care! </dd></dl>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="afbe09c4d09f0dc897045037c1042cd70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbe09c4d09f0dc897045037c1042cd70">&#9670;&nbsp;</a></span>start() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PITimer::start </td>
<td>(</td>
<td class="paramname"></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>Start timer with <em><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></em> loop delay. </p>
<p>Start execution of timer functions with frequency = 1 / msecs Hz. </p>
</div>
</div>
<a id="a65431888fc569599e6b3ff27c1617e00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65431888fc569599e6b3ff27c1617e00">&#9670;&nbsp;</a></span>start() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PITimer::start </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>msecs</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>Start timer with <b>msecs</b> loop delay. </p>
<p>Start execution of timer functions with frequency = 1. / msecs Hz. Instead of <em>start(int msecs)</em> function this variant allow start timer with frequencies more than 1 kHz </p>
</div>
</div>
<a id="a45d3671ef5aa2126c0a42221c2b8963f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45d3671ef5aa2126c0a42221c2b8963f">&#9670;&nbsp;</a></span>startDeferred() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PITimer::startDeferred </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>delay_ms</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>Start timer with <b><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></b> loop delay after <b>delay_msecs</b> delay. </p>
<p>Timer wait <b>delay_msecs</b> milliseconds and then normally starts with <b><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></b> loop delay. </p>
</div>
</div>
<a id="a48b7932379fdc15bd8bd577797f4173d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48b7932379fdc15bd8bd577797f4173d">&#9670;&nbsp;</a></span>startDeferred() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PITimer::startDeferred </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>interval_ms</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>delay_ms</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Start timer with <b>interval_msecs</b> loop delay after <b>delay_msecs</b> delay. </p>
<p>Timer wait <b>delay_msecs</b> milliseconds and then normally starts with <b>interval_msecs</b> loop delay. </p>
</div>
</div>
<a id="a88f6a55f2a7ab5d3c0835a92fb2f991f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88f6a55f2a7ab5d3c0835a92fb2f991f">&#9670;&nbsp;</a></span>startDeferred() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PITimer::startDeferred </td>
<td>(</td>
<td class="paramtype">PIDateTime&#160;</td>
<td class="paramname"><em>start_datetime</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>Start timer with <b><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></b> loop delay after <b>start_datetime</b> date and time. </p>
<p>Timer wait until <b>start_datetime</b> and then normally starts with <b><a class="el" href="class_p_i_timer.html#ac43145e8c1cfb05585ebaf9c52df2925" title="Returns timer loop delay in milliseconds. ">interval()</a></b> loop delay. </p>
</div>
</div>
<a id="a0fb5f7f9dede84fd02d4882b0899fc40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fb5f7f9dede84fd02d4882b0899fc40">&#9670;&nbsp;</a></span>startDeferred() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PITimer::startDeferred </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>interval_ms</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">PIDateTime&#160;</td>
<td class="paramname"><em>start_datetime</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Start timer with <b>interval_msecs</b> loop delay after <b>start_datetime</b> date and time. </p>
<p>Timer wait until <b>start_datetime</b> and then normally starts with <b>interval_msecs</b> loop delay. </p>
</div>
</div>
<a id="a707cb908c36f42dab13338c42ede4a81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a707cb908c36f42dab13338c42ede4a81">&#9670;&nbsp;</a></span>tickEvent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void PITimer::tickEvent </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>delimiter</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Raise on timer tick. </p>
<p><b>Data</b> can be set with function <em><a class="el" href="class_p_i_timer.html#aa166b87d70f34ca63b9c39f8f03daea4" title="Set custom data. ">setData(void * data)</a></em> or from constructor. <b>Delimiter</b> is frequency delimiter, 1 for main loop. </p>
</div>
</div>
<a id="af94038669f0798c21cc2208da9945406"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af94038669f0798c21cc2208da9945406">&#9670;&nbsp;</a></span>tick()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PITimer::tick </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>data_</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>delimiter</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Virtual timer execution function, similar to "slot" or event <em>void</em> timeout(void * data, int delimiter). By default is empty. </p>
</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_timer.html">PITimer</a></li>
<li class="footer">Generated on Tue May 23 2017 11:20:44 for PIP by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>