Files
pip/doc/html/class_p_i_packet_extractor.html
Пелипенко Иван cc22bf0c67 PIChunkStream
git-svn-id: svn://db.shs.com.ru/pip@176 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
2016-01-31 09:05:23 +00:00

1037 lines
163 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.9.1"/>
<title>PIP: PIPacketExtractor 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);
$(window).load(resizeHeight);
</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 style="padding-left: 0.5em;">
<div id="projectname">PIP
&#160;<span id="projectnumber">0.5.0_alpha</span>
</div>
<div id="projectbrief">Platform-Independent Primitives</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</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_packet_extractor.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_packet_extractor-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">PIPacketExtractor Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Packets extractor.
<a href="class_p_i_packet_extractor.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for PIPacketExtractor:</div>
<div class="dyncontent">
<div class="center"><img src="class_p_i_packet_extractor__inherit__graph.png" border="0" usemap="#_p_i_packet_extractor_inherit__map" alt="Inheritance graph"/></div>
<map name="_p_i_packet_extractor_inherit__map" id="_p_i_packet_extractor_inherit__map">
<area shape="rect" id="node2" href="class_p_i_i_o_device.html" title="Base class for input/output classes. " alt="" coords="33,155,136,181"/><area shape="rect" id="node3" href="class_p_i_thread.html" title="Thread class. " alt="" coords="41,80,128,107"/><area shape="rect" id="node4" href="class_p_i_object.html" title="This is base class for any classes which use events &#45;&gt; handlers mechanism. " alt="" coords="41,5,128,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:aab7f856e1fd64e7bdb2507badae99bb6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6">SplitMode</a> { <br />
&#160;&#160;<a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6aab134660d4356d548ad2c7e9bb3ecae0">None</a>,
<a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a29b623cae95dfd777979c401d881c57f">Header</a>,
<a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a48ccac0df6bcb7bccaa01eb3df28f096">Footer</a>,
<a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6aa588a5c0306511f74b66e60a24373f01">HeaderAndFooter</a>,
<br />
&#160;&#160;<a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a169d7eb9668b7d6077f6c00c558b12eb">Size</a>,
<a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a4ea0db7f406eaa97adbacd580b919903">Timeout</a>
<br />
}</td></tr>
<tr class="memdesc:aab7f856e1fd64e7bdb2507badae99bb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract algorithms. <a href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6">More...</a><br /></td></tr>
<tr class="separator:aab7f856e1fd64e7bdb2507badae99bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_class_p_i_i_o_device"><td colspan="2" onclick="javascript:toggleInherit('pub_types_class_p_i_i_o_device')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="class_p_i_i_o_device.html">PIIODevice</a></td></tr>
<tr class="memitem:a546a024c6ff4a1dca9350b520e73b595 inherit pub_types_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a546a024c6ff4a1dca9350b520e73b595">DeviceMode</a> { <a class="el" href="class_p_i_i_o_device.html#a546a024c6ff4a1dca9350b520e73b595a3cfbd625c2976cde647e43b3ecf488fc">ReadOnly</a> = 0x01,
<a class="el" href="class_p_i_i_o_device.html#a546a024c6ff4a1dca9350b520e73b595ac8b9334253858c834ece08fc1d0a9c03">WriteOnly</a> = 0x02,
<a class="el" href="class_p_i_i_o_device.html#a546a024c6ff4a1dca9350b520e73b595a9a3dfb78656b018b51ce48d95f39234a">ReadWrite</a> = 0x03
}</td></tr>
<tr class="memdesc:a546a024c6ff4a1dca9350b520e73b595"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open modes for <a class="el" href="class_p_i_i_o_device.html" title="Base class for input/output classes. ">PIIODevice</a>. <a href="class_p_i_i_o_device.html#a546a024c6ff4a1dca9350b520e73b595">More...</a><br /></td></tr>
<tr class="separator:a546a024c6ff4a1dca9350b520e73b595 inherit pub_types_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_class_p_i_thread"><td colspan="2" onclick="javascript:toggleInherit('pub_types_class_p_i_thread')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="class_p_i_thread.html">PIThread</a></td></tr>
<tr class="memitem:a3ddcafb0b09d3ed258a519882986a77b inherit pub_types_class_p_i_thread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77b">Priority</a> { <br />
&#160;&#160;<a class="el" href="class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77ba4dbd54fc5158a029c682b718f48312d4">piLowerst</a>,
<a class="el" href="class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77ba46703d0258b11d41c52a266b2b10b6d9">piLow</a>,
<a class="el" href="class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77babd362bfacabbd61d69793cceb449425c">piNormal</a>,
<a class="el" href="class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77ba0e6861fee3e57cf6ba026a7553e69576">piHigh</a>,
<br />
&#160;&#160;<a class="el" href="class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77ba18babfebe41163fbb810eb41357a6347">piHighest</a>
<br />
}</td></tr>
<tr class="memdesc:a3ddcafb0b09d3ed258a519882986a77b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Priority of thread. <a href="class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77b">More...</a><br /></td></tr>
<tr class="separator:a3ddcafb0b09d3ed258a519882986a77b inherit pub_types_class_p_i_thread"><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:aa79460b536202e7c877f5eca4f5be089"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa79460b536202e7c877f5eca4f5be089"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#aa79460b536202e7c877f5eca4f5be089">PIPacketExtractor</a> (<a class="el" href="class_p_i_i_o_device.html">PIIODevice</a> *device_=0, <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6">SplitMode</a> <a class="el" href="class_p_i_i_o_device.html#aec8176a5b88b98aacba528b1dd20c7c4">mode</a>=<a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6aab134660d4356d548ad2c7e9bb3ecae0">None</a>)</td></tr>
<tr class="memdesc:aa79460b536202e7c877f5eca4f5be089"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contructs extractor with child device "device_" and extract algorithm "mode". <br /></td></tr>
<tr class="separator:aa79460b536202e7c877f5eca4f5be089"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e926713a3505dd109176b2c572274c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e926713a3505dd109176b2c572274c9"></a>
<a class="el" href="class_p_i_i_o_device.html">PIIODevice</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#a8e926713a3505dd109176b2c572274c9">device</a> ()</td></tr>
<tr class="memdesc:a8e926713a3505dd109176b2c572274c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns child device. <br /></td></tr>
<tr class="separator:a8e926713a3505dd109176b2c572274c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82db047d7e3e58f8026028857b6b69c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82db047d7e3e58f8026028857b6b69c4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#a82db047d7e3e58f8026028857b6b69c4">setDevice</a> (<a class="el" href="class_p_i_i_o_device.html">PIIODevice</a> *device_)</td></tr>
<tr class="memdesc:a82db047d7e3e58f8026028857b6b69c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set child device to "device_". <br /></td></tr>
<tr class="separator:a82db047d7e3e58f8026028857b6b69c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9598fdc2e3a641a4d1b4a5c7b62313f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9598fdc2e3a641a4d1b4a5c7b62313f"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#ab9598fdc2e3a641a4d1b4a5c7b62313f">bufferSize</a> () const </td></tr>
<tr class="memdesc:ab9598fdc2e3a641a4d1b4a5c7b62313f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns buffer size. <br /></td></tr>
<tr class="separator:ab9598fdc2e3a641a4d1b4a5c7b62313f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6f77a5a0acf43e7b69354e59c89523a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6f77a5a0acf43e7b69354e59c89523a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#aa6f77a5a0acf43e7b69354e59c89523a">setBufferSize</a> (int new_size)</td></tr>
<tr class="memdesc:aa6f77a5a0acf43e7b69354e59c89523a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set buffer size to "new_size" bytes, should be at least greater than whole packet size. <br /></td></tr>
<tr class="separator:aa6f77a5a0acf43e7b69354e59c89523a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa8b6f0d301cd7b73fc6e9570462b6a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa8b6f0d301cd7b73fc6e9570462b6a1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#aaa8b6f0d301cd7b73fc6e9570462b6a1">setSplitMode</a> (<a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6">SplitMode</a> <a class="el" href="class_p_i_i_o_device.html#aec8176a5b88b98aacba528b1dd20c7c4">mode</a>)</td></tr>
<tr class="memdesc:aaa8b6f0d301cd7b73fc6e9570462b6a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set extract algorithm. <br /></td></tr>
<tr class="separator:aaa8b6f0d301cd7b73fc6e9570462b6a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c0de7854ff8187b3cd280467a321ea5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c0de7854ff8187b3cd280467a321ea5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#a0c0de7854ff8187b3cd280467a321ea5">setPayloadSize</a> (int size)</td></tr>
<tr class="memdesc:a0c0de7854ff8187b3cd280467a321ea5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set payload size, used for <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a29b623cae95dfd777979c401d881c57f">PIPacketExtractor::Header</a> and <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a48ccac0df6bcb7bccaa01eb3df28f096">PIPacketExtractor::Footer</a> algorithms. <br /></td></tr>
<tr class="separator:a0c0de7854ff8187b3cd280467a321ea5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab35777c26316da887e36b0eeb56ef239"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab35777c26316da887e36b0eeb56ef239"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#ab35777c26316da887e36b0eeb56ef239">setHeader</a> (const <a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;data)</td></tr>
<tr class="memdesc:ab35777c26316da887e36b0eeb56ef239"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set header data, used for <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a29b623cae95dfd777979c401d881c57f">PIPacketExtractor::Header</a> and <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6aa588a5c0306511f74b66e60a24373f01">PIPacketExtractor::HeaderAndFooter</a> algorithms. <br /></td></tr>
<tr class="separator:ab35777c26316da887e36b0eeb56ef239"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf0e85876d15690e47bced1da78efa65"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf0e85876d15690e47bced1da78efa65"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#aaf0e85876d15690e47bced1da78efa65">setFooter</a> (const <a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;data)</td></tr>
<tr class="memdesc:aaf0e85876d15690e47bced1da78efa65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set footer data, used for <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a48ccac0df6bcb7bccaa01eb3df28f096">PIPacketExtractor::Footer</a> and <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6aa588a5c0306511f74b66e60a24373f01">PIPacketExtractor::HeaderAndFooter</a> algorithms. <br /></td></tr>
<tr class="separator:aaf0e85876d15690e47bced1da78efa65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c0b73a88a7ae8f4c724a4d99e34a783"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c0b73a88a7ae8f4c724a4d99e34a783"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#a9c0b73a88a7ae8f4c724a4d99e34a783">setPacketSize</a> (int size)</td></tr>
<tr class="memdesc:a9c0b73a88a7ae8f4c724a4d99e34a783"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set packet size, used for <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a169d7eb9668b7d6077f6c00c558b12eb">PIPacketExtractor::Size</a> algorithm. <br /></td></tr>
<tr class="separator:a9c0b73a88a7ae8f4c724a4d99e34a783"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade4301e8cad37f9a2c887913a3b1a69e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade4301e8cad37f9a2c887913a3b1a69e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#ade4301e8cad37f9a2c887913a3b1a69e">setTimeout</a> (double msecs)</td></tr>
<tr class="memdesc:ade4301e8cad37f9a2c887913a3b1a69e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set timeout in milliseconds, used for <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a4ea0db7f406eaa97adbacd580b919903">PIPacketExtractor::Timeout</a> algorithm. <br /></td></tr>
<tr class="separator:ade4301e8cad37f9a2c887913a3b1a69e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea556fb1df7074461b7df1e3afa347b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea556fb1df7074461b7df1e3afa347b9"></a>
<a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6">SplitMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#aea556fb1df7074461b7df1e3afa347b9">splitMode</a> () const </td></tr>
<tr class="memdesc:aea556fb1df7074461b7df1e3afa347b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns current extract algorithm. <br /></td></tr>
<tr class="separator:aea556fb1df7074461b7df1e3afa347b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af22580e67cd2601575a7834a4c9b414c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af22580e67cd2601575a7834a4c9b414c"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#af22580e67cd2601575a7834a4c9b414c">payloadSize</a> () const </td></tr>
<tr class="memdesc:af22580e67cd2601575a7834a4c9b414c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns current payload size, used for <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a29b623cae95dfd777979c401d881c57f">PIPacketExtractor::Header</a> and <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a48ccac0df6bcb7bccaa01eb3df28f096">PIPacketExtractor::Footer</a> algorithms. <br /></td></tr>
<tr class="separator:af22580e67cd2601575a7834a4c9b414c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e6ff4a862b5fc4826ceae42d630174c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e6ff4a862b5fc4826ceae42d630174c"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#a8e6ff4a862b5fc4826ceae42d630174c">header</a> () const </td></tr>
<tr class="memdesc:a8e6ff4a862b5fc4826ceae42d630174c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns current header data, used for <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a29b623cae95dfd777979c401d881c57f">PIPacketExtractor::Header</a> and <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6aa588a5c0306511f74b66e60a24373f01">PIPacketExtractor::HeaderAndFooter</a> algorithms. <br /></td></tr>
<tr class="separator:a8e6ff4a862b5fc4826ceae42d630174c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6382b9238ce84d3c93044dc96748d42a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6382b9238ce84d3c93044dc96748d42a"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#a6382b9238ce84d3c93044dc96748d42a">footer</a> () const </td></tr>
<tr class="memdesc:a6382b9238ce84d3c93044dc96748d42a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns current footer data, used for <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a48ccac0df6bcb7bccaa01eb3df28f096">PIPacketExtractor::Footer</a> and <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6aa588a5c0306511f74b66e60a24373f01">PIPacketExtractor::HeaderAndFooter</a> algorithms. <br /></td></tr>
<tr class="separator:a6382b9238ce84d3c93044dc96748d42a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a033ac83733f23c61a65ad9c810123219"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a033ac83733f23c61a65ad9c810123219"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#a033ac83733f23c61a65ad9c810123219">packetSize</a> () const </td></tr>
<tr class="memdesc:a033ac83733f23c61a65ad9c810123219"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns current packet size, used for <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a169d7eb9668b7d6077f6c00c558b12eb">PIPacketExtractor::Size</a> algorithm. <br /></td></tr>
<tr class="separator:a033ac83733f23c61a65ad9c810123219"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a369b3bfd48065cf9da70788015d6d020"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a369b3bfd48065cf9da70788015d6d020"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#a369b3bfd48065cf9da70788015d6d020">timeout</a> () const </td></tr>
<tr class="memdesc:a369b3bfd48065cf9da70788015d6d020"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns current timeout in milliseconds, used for <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a4ea0db7f406eaa97adbacd580b919903">PIPacketExtractor::Timeout</a> algorithm. <br /></td></tr>
<tr class="separator:a369b3bfd48065cf9da70788015d6d020"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5a810fc6551422b92ace27652c24813"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5a810fc6551422b92ace27652c24813"></a>
ullong&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#ac5a810fc6551422b92ace27652c24813">missedBytes</a> () const </td></tr>
<tr class="memdesc:ac5a810fc6551422b92ace27652c24813"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns missed by validating functions bytes count. <br /></td></tr>
<tr class="separator:ac5a810fc6551422b92ace27652c24813"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8cbbb5d99d89629975913b134ad68a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8cbbb5d99d89629975913b134ad68a8"></a>
const ullong *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#ad8cbbb5d99d89629975913b134ad68a8">missedBytes_ptr</a> () const </td></tr>
<tr class="memdesc:ad8cbbb5d99d89629975913b134ad68a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns pointer to <em><a class="el" href="class_p_i_packet_extractor.html#ac5a810fc6551422b92ace27652c24813" title="Returns missed by validating functions bytes count. ">missedBytes()</a></em> count. Useful for output to <a class="el" href="class_p_i_console.html" title="Console output class. ">PIConsole</a>. <br /></td></tr>
<tr class="separator:ad8cbbb5d99d89629975913b134ad68a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa41b9b23ba7a074398687edf82331b40"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa41b9b23ba7a074398687edf82331b40"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#aa41b9b23ba7a074398687edf82331b40">read</a> (void *read_to, int max_size)</td></tr>
<tr class="memdesc:aa41b9b23ba7a074398687edf82331b40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Directly call <em><a class="el" href="class_p_i_packet_extractor.html#aa41b9b23ba7a074398687edf82331b40" title="Directly call read() function of child device. ">read()</a></em> function of child device. <br /></td></tr>
<tr class="separator:aa41b9b23ba7a074398687edf82331b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3348c0df86c7de38ab6cfc02f3cfa2b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3348c0df86c7de38ab6cfc02f3cfa2b"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#aa3348c0df86c7de38ab6cfc02f3cfa2b">write</a> (const void *data, int max_size)</td></tr>
<tr class="memdesc:aa3348c0df86c7de38ab6cfc02f3cfa2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Directly call <em><a class="el" href="class_p_i_packet_extractor.html#aa3348c0df86c7de38ab6cfc02f3cfa2b" title="Directly call write() function of child device. ">write()</a></em> function of child device. <br /></td></tr>
<tr class="separator:aa3348c0df86c7de38ab6cfc02f3cfa2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbeb7fa7bdb01b164ce81df601bcee23"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbeb7fa7bdb01b164ce81df601bcee23"></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_packet_extractor.html#acbeb7fa7bdb01b164ce81df601bcee23">constructFullPath</a> () const </td></tr>
<tr class="memdesc:acbeb7fa7bdb01b164ce81df601bcee23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reimplement to construct full unambiguous string, describes this device, default returns <em>fullPathPrefix()</em> + "://" + <em><a class="el" href="class_p_i_i_o_device.html#a8bc4ff38695ab514f95fa1fa4da0f344" title="Current path of device. ">path()</a></em> <br /></td></tr>
<tr class="separator:acbeb7fa7bdb01b164ce81df601bcee23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_p_i_i_o_device"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_p_i_i_o_device')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_p_i_i_o_device.html">PIIODevice</a></td></tr>
<tr class="memitem:ac087db1174b1a2f6bb6400a62b93ed52 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac087db1174b1a2f6bb6400a62b93ed52"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ac087db1174b1a2f6bb6400a62b93ed52">PIIODevice</a> ()</td></tr>
<tr class="memdesc:ac087db1174b1a2f6bb6400a62b93ed52 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a empty <a class="el" href="class_p_i_i_o_device.html" title="Base class for input/output classes. ">PIIODevice</a>. <br /></td></tr>
<tr class="separator:ac087db1174b1a2f6bb6400a62b93ed52 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab37b5b49ddd5ec07d03df75dcc6f0343 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ab37b5b49ddd5ec07d03df75dcc6f0343">PIIODevice</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &amp;<a class="el" href="class_p_i_i_o_device.html#a8bc4ff38695ab514f95fa1fa4da0f344">path</a>, <a class="el" href="class_p_i_i_o_device.html#a546a024c6ff4a1dca9350b520e73b595">DeviceMode</a> <a class="el" href="class_p_i_i_o_device.html#aec8176a5b88b98aacba528b1dd20c7c4">mode</a>=<a class="el" href="class_p_i_i_o_device.html#a546a024c6ff4a1dca9350b520e73b595a9a3dfb78656b018b51ce48d95f39234a">ReadWrite</a>)</td></tr>
<tr class="memdesc:ab37b5b49ddd5ec07d03df75dcc6f0343 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a <a class="el" href="class_p_i_i_o_device.html" title="Base class for input/output classes. ">PIIODevice</a> with path and mode. <a href="#ab37b5b49ddd5ec07d03df75dcc6f0343">More...</a><br /></td></tr>
<tr class="separator:ab37b5b49ddd5ec07d03df75dcc6f0343 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec8176a5b88b98aacba528b1dd20c7c4 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec8176a5b88b98aacba528b1dd20c7c4"></a>
<a class="el" href="class_p_i_i_o_device.html#a546a024c6ff4a1dca9350b520e73b595">DeviceMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#aec8176a5b88b98aacba528b1dd20c7c4">mode</a> () const </td></tr>
<tr class="memdesc:aec8176a5b88b98aacba528b1dd20c7c4 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current open mode of device. <br /></td></tr>
<tr class="separator:aec8176a5b88b98aacba528b1dd20c7c4 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a589767ed326f04724ecfb3f73d51dc6d inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a589767ed326f04724ecfb3f73d51dc6d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a589767ed326f04724ecfb3f73d51dc6d">setMode</a> (<a class="el" href="class_p_i_i_o_device.html#a546a024c6ff4a1dca9350b520e73b595">DeviceMode</a> m)</td></tr>
<tr class="memdesc:a589767ed326f04724ecfb3f73d51dc6d inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set open mode of device. <br /></td></tr>
<tr class="separator:a589767ed326f04724ecfb3f73d51dc6d inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bc4ff38695ab514f95fa1fa4da0f344 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bc4ff38695ab514f95fa1fa4da0f344"></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_i_o_device.html#a8bc4ff38695ab514f95fa1fa4da0f344">path</a> () const </td></tr>
<tr class="memdesc:a8bc4ff38695ab514f95fa1fa4da0f344 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current path of device. <br /></td></tr>
<tr class="separator:a8bc4ff38695ab514f95fa1fa4da0f344 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0a4c85cfc93f4f97889624f1af3f2da inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac0a4c85cfc93f4f97889624f1af3f2da"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ac0a4c85cfc93f4f97889624f1af3f2da">setPath</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &amp;<a class="el" href="class_p_i_i_o_device.html#a8bc4ff38695ab514f95fa1fa4da0f344">path</a>)</td></tr>
<tr class="memdesc:ac0a4c85cfc93f4f97889624f1af3f2da inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set path of device. <br /></td></tr>
<tr class="separator:ac0a4c85cfc93f4f97889624f1af3f2da inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab8d2f661fa81ebc08f86774bd385d7c inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab8d2f661fa81ebc08f86774bd385d7c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#aab8d2f661fa81ebc08f86774bd385d7c">isReadable</a> () const </td></tr>
<tr class="memdesc:aab8d2f661fa81ebc08f86774bd385d7c inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <b>true</b> if mode is ReadOnly or ReadWrite. <br /></td></tr>
<tr class="separator:aab8d2f661fa81ebc08f86774bd385d7c inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f9b2cace031adbed1024e67de0a2c26 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f9b2cace031adbed1024e67de0a2c26"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a3f9b2cace031adbed1024e67de0a2c26">isWriteable</a> () const </td></tr>
<tr class="memdesc:a3f9b2cace031adbed1024e67de0a2c26 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <b>true</b> if mode is WriteOnly or ReadWrite. <br /></td></tr>
<tr class="separator:a3f9b2cace031adbed1024e67de0a2c26 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4548767d3525425560cecb941b2f3e1 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4548767d3525425560cecb941b2f3e1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ac4548767d3525425560cecb941b2f3e1">isOpened</a> () const </td></tr>
<tr class="memdesc:ac4548767d3525425560cecb941b2f3e1 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <b>true</b> if device is successfully opened. <br /></td></tr>
<tr class="separator:ac4548767d3525425560cecb941b2f3e1 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4af787cf1f0c683ab8cc96b467ceb71 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4af787cf1f0c683ab8cc96b467ceb71"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#af4af787cf1f0c683ab8cc96b467ceb71">isClosed</a> () const </td></tr>
<tr class="memdesc:af4af787cf1f0c683ab8cc96b467ceb71 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <b>true</b> if device is closed. <br /></td></tr>
<tr class="separator:af4af787cf1f0c683ab8cc96b467ceb71 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e3ec03f1fb36ad84483822a1618488b inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e3ec03f1fb36ad84483822a1618488b"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a2e3ec03f1fb36ad84483822a1618488b">canRead</a> () const </td></tr>
<tr class="memdesc:a2e3ec03f1fb36ad84483822a1618488b inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <b>true</b> if device can read <b>now</b>. <br /></td></tr>
<tr class="separator:a2e3ec03f1fb36ad84483822a1618488b inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2a16a83493209f165f03e1c49330c82 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2a16a83493209f165f03e1c49330c82"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#aa2a16a83493209f165f03e1c49330c82">canWrite</a> () const </td></tr>
<tr class="memdesc:aa2a16a83493209f165f03e1c49330c82 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <b>true</b> if device can write <b>now</b>. <br /></td></tr>
<tr class="separator:aa2a16a83493209f165f03e1c49330c82 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af102eb926a08c8da2d0dcb06c3f951d6 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af102eb926a08c8da2d0dcb06c3f951d6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#af102eb926a08c8da2d0dcb06c3f951d6">setReopenEnabled</a> (bool yes=true)</td></tr>
<tr class="memdesc:af102eb926a08c8da2d0dcb06c3f951d6 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set execution of <em>open</em> enabled while threaded read on closed device. <br /></td></tr>
<tr class="separator:af102eb926a08c8da2d0dcb06c3f951d6 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac62f3a463fab444f084aa9ce7435e5a4 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac62f3a463fab444f084aa9ce7435e5a4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ac62f3a463fab444f084aa9ce7435e5a4">setReopenTimeout</a> (int msecs)</td></tr>
<tr class="memdesc:ac62f3a463fab444f084aa9ce7435e5a4 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set timeout in milliseconds between <em>open</em> tryings if reopen is enabled. <br /></td></tr>
<tr class="separator:ac62f3a463fab444f084aa9ce7435e5a4 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21175548410fffdf7b060158d11b0277 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21175548410fffdf7b060158d11b0277"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a21175548410fffdf7b060158d11b0277">isReopenEnabled</a> () const </td></tr>
<tr class="memdesc:a21175548410fffdf7b060158d11b0277 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return reopen enable. <br /></td></tr>
<tr class="separator:a21175548410fffdf7b060158d11b0277 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab87197451c9d3700860c73f85538e0dd inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab87197451c9d3700860c73f85538e0dd"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ab87197451c9d3700860c73f85538e0dd">reopenTimeout</a> ()</td></tr>
<tr class="memdesc:ab87197451c9d3700860c73f85538e0dd inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return reopen timeout. <br /></td></tr>
<tr class="separator:ab87197451c9d3700860c73f85538e0dd inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6eaa85cbd4f4f639add072f174d843b inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ac6eaa85cbd4f4f639add072f174d843b">setThreadedReadSlot</a> (ReadRetFunc func)</td></tr>
<tr class="memdesc:ac6eaa85cbd4f4f639add072f174d843b inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set "threaded read slot". <a href="#ac6eaa85cbd4f4f639add072f174d843b">More...</a><br /></td></tr>
<tr class="separator:ac6eaa85cbd4f4f639add072f174d843b inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f8ef8392407794b48130487dffbd6e5 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f8ef8392407794b48130487dffbd6e5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a5f8ef8392407794b48130487dffbd6e5">setThreadedReadData</a> (void *d)</td></tr>
<tr class="memdesc:a5f8ef8392407794b48130487dffbd6e5 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set custom data that will be passed to "threaded read slot". <br /></td></tr>
<tr class="separator:a5f8ef8392407794b48130487dffbd6e5 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52c3127c3940d0a37e42b38b0fd1cf71 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a52c3127c3940d0a37e42b38b0fd1cf71">setThreadedReadBufferSize</a> (int new_size)</td></tr>
<tr class="memdesc:a52c3127c3940d0a37e42b38b0fd1cf71 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set size of threaded read buffer. <a href="#a52c3127c3940d0a37e42b38b0fd1cf71">More...</a><br /></td></tr>
<tr class="separator:a52c3127c3940d0a37e42b38b0fd1cf71 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1224a4837afb731b18473bd79a934605 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1224a4837afb731b18473bd79a934605"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a1224a4837afb731b18473bd79a934605">threadedReadBufferSize</a> () const </td></tr>
<tr class="memdesc:a1224a4837afb731b18473bd79a934605 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return size of threaded read buffer. <br /></td></tr>
<tr class="separator:a1224a4837afb731b18473bd79a934605 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22831f552757ed99a3697e29bab1f447 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22831f552757ed99a3697e29bab1f447"></a>
const uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a22831f552757ed99a3697e29bab1f447">threadedReadBuffer</a> () const </td></tr>
<tr class="memdesc:a22831f552757ed99a3697e29bab1f447 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return content of threaded read buffer. <br /></td></tr>
<tr class="separator:a22831f552757ed99a3697e29bab1f447 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00277fab1681c7226dcf41bd53ae895d inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00277fab1681c7226dcf41bd53ae895d"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a00277fab1681c7226dcf41bd53ae895d">threadedReadData</a> () const </td></tr>
<tr class="memdesc:a00277fab1681c7226dcf41bd53ae895d inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return custom data that will be passed to "threaded read slot". <br /></td></tr>
<tr class="separator:a00277fab1681c7226dcf41bd53ae895d inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4906b24d7672b94766c619cb391ee4a0 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4906b24d7672b94766c619cb391ee4a0"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a4906b24d7672b94766c619cb391ee4a0">isThreadedRead</a> () const </td></tr>
<tr class="memdesc:a4906b24d7672b94766c619cb391ee4a0 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <b>true</b> if threaded read is started. <br /></td></tr>
<tr class="separator:a4906b24d7672b94766c619cb391ee4a0 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa58fd385f8dea3b3887da2b9af3f950 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa58fd385f8dea3b3887da2b9af3f950"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#aaa58fd385f8dea3b3887da2b9af3f950">startThreadedRead</a> ()</td></tr>
<tr class="memdesc:aaa58fd385f8dea3b3887da2b9af3f950 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start threaded read. <br /></td></tr>
<tr class="separator:aaa58fd385f8dea3b3887da2b9af3f950 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d45079c93fd233e6ff73e00d4da7616 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d45079c93fd233e6ff73e00d4da7616"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a6d45079c93fd233e6ff73e00d4da7616">startThreadedRead</a> (ReadRetFunc func)</td></tr>
<tr class="memdesc:a6d45079c93fd233e6ff73e00d4da7616 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start threaded read and assign "threaded read slot" to "func". <br /></td></tr>
<tr class="separator:a6d45079c93fd233e6ff73e00d4da7616 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bc2ae587cec97123970afb489c0c530 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4bc2ae587cec97123970afb489c0c530"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a4bc2ae587cec97123970afb489c0c530">stopThreadedRead</a> ()</td></tr>
<tr class="memdesc:a4bc2ae587cec97123970afb489c0c530 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop threaded read. <br /></td></tr>
<tr class="separator:a4bc2ae587cec97123970afb489c0c530 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ced4ba161fe19d98faea99c868059da inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ced4ba161fe19d98faea99c868059da"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a8ced4ba161fe19d98faea99c868059da">isThreadedWrite</a> () const </td></tr>
<tr class="memdesc:a8ced4ba161fe19d98faea99c868059da inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <b>true</b> if threaded write is started. <br /></td></tr>
<tr class="separator:a8ced4ba161fe19d98faea99c868059da inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf19c9629dae97b30ecbd7fcaae0bb84 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf19c9629dae97b30ecbd7fcaae0bb84"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#abf19c9629dae97b30ecbd7fcaae0bb84">startThreadedWrite</a> ()</td></tr>
<tr class="memdesc:abf19c9629dae97b30ecbd7fcaae0bb84 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start threaded write. <br /></td></tr>
<tr class="separator:abf19c9629dae97b30ecbd7fcaae0bb84 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8276a65b6c186478af39fe6482ccfc99 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8276a65b6c186478af39fe6482ccfc99"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a8276a65b6c186478af39fe6482ccfc99">stopThreadedWrite</a> ()</td></tr>
<tr class="memdesc:a8276a65b6c186478af39fe6482ccfc99 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop threaded write. <br /></td></tr>
<tr class="separator:a8276a65b6c186478af39fe6482ccfc99 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ea8e87826a944be0c9f67b2989b78e4 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ea8e87826a944be0c9f67b2989b78e4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a3ea8e87826a944be0c9f67b2989b78e4">clearThreadedWriteQueue</a> ()</td></tr>
<tr class="memdesc:a3ea8e87826a944be0c9f67b2989b78e4 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear threaded write task queue. <br /></td></tr>
<tr class="separator:a3ea8e87826a944be0c9f67b2989b78e4 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c6cb4c2ef6950a1d1d9b9de8eb31d72 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c6cb4c2ef6950a1d1d9b9de8eb31d72"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a9c6cb4c2ef6950a1d1d9b9de8eb31d72">start</a> ()</td></tr>
<tr class="memdesc:a9c6cb4c2ef6950a1d1d9b9de8eb31d72 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start both threaded read and threaded write. <br /></td></tr>
<tr class="separator:a9c6cb4c2ef6950a1d1d9b9de8eb31d72 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f11f004b3976cc015cc4b9c04fa44f2 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f11f004b3976cc015cc4b9c04fa44f2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a5f11f004b3976cc015cc4b9c04fa44f2">stop</a> (bool wait=false)</td></tr>
<tr class="memdesc:a5f11f004b3976cc015cc4b9c04fa44f2 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop both threaded read and threaded write and if "wait" block until both threads are stop. <br /></td></tr>
<tr class="separator:a5f11f004b3976cc015cc4b9c04fa44f2 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97d70784dd67ee919704c37e53819525 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97d70784dd67ee919704c37e53819525"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a97d70784dd67ee919704c37e53819525">read</a> (int max_size)</td></tr>
<tr class="memdesc:a97d70784dd67ee919704c37e53819525 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from device maximum "max_size" bytes and return them as <a class="el" href="class_p_i_byte_array.html" title="Byte array. ">PIByteArray</a>. <br /></td></tr>
<tr class="separator:a97d70784dd67ee919704c37e53819525 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4991bd904757496dcd41d0d614a7a59 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4991bd904757496dcd41d0d614a7a59"></a>
<a class="el" href="class_p_i_byte_array.html">PIByteArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#aa4991bd904757496dcd41d0d614a7a59">readForTime</a> (double timeout_ms)</td></tr>
<tr class="memdesc:aa4991bd904757496dcd41d0d614a7a59 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from device for "timeout_ms" milliseconds and return readed data as <a class="el" href="class_p_i_byte_array.html" title="Byte array. ">PIByteArray</a>. Timeout should to be greater than 0. <br /></td></tr>
<tr class="separator:aa4991bd904757496dcd41d0d614a7a59 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76e6241630e550f39fe8f10f0a2968d8 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76e6241630e550f39fe8f10f0a2968d8"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a76e6241630e550f39fe8f10f0a2968d8">write</a> (const <a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;<a class="el" href="class_p_i_thread.html#aa3c4138dc000e34fb74140d0a5be3afe">data</a>)</td></tr>
<tr class="memdesc:a76e6241630e550f39fe8f10f0a2968d8 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write "data" to device. <br /></td></tr>
<tr class="separator:a76e6241630e550f39fe8f10f0a2968d8 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a534ea05df3ca267221dd8d5802df4ff9 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a534ea05df3ca267221dd8d5802df4ff9"></a>
ullong&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a534ea05df3ca267221dd8d5802df4ff9">writeThreaded</a> (const void *<a class="el" href="class_p_i_thread.html#aa3c4138dc000e34fb74140d0a5be3afe">data</a>, int max_size)</td></tr>
<tr class="memdesc:a534ea05df3ca267221dd8d5802df4ff9 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add task to threaded write queue and return task ID. <br /></td></tr>
<tr class="separator:a534ea05df3ca267221dd8d5802df4ff9 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a444cedf1f38d9dc05eb2a26946318263 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a444cedf1f38d9dc05eb2a26946318263"></a>
ullong&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a444cedf1f38d9dc05eb2a26946318263">writeThreaded</a> (const <a class="el" href="class_p_i_byte_array.html">PIByteArray</a> &amp;<a class="el" href="class_p_i_thread.html#aa3c4138dc000e34fb74140d0a5be3afe">data</a>)</td></tr>
<tr class="memdesc:a444cedf1f38d9dc05eb2a26946318263 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add task to threaded write queue and return task ID. <br /></td></tr>
<tr class="separator:a444cedf1f38d9dc05eb2a26946318263 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa5ccc05c7551d10f0c311e4aa534cd8 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa5ccc05c7551d10f0c311e4aa534cd8"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#afa5ccc05c7551d10f0c311e4aa534cd8">configure</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &amp;config_file, const <a class="el" href="class_p_i_string.html">PIString</a> &amp;section, bool parent_section=false)</td></tr>
<tr class="memdesc:afa5ccc05c7551d10f0c311e4aa534cd8 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure device from section "section" of file "config_file", if "parent_section" parent section also will be read. <br /></td></tr>
<tr class="separator:afa5ccc05c7551d10f0c311e4aa534cd8 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9df120510444c1ebe5fea7a7ca8e07d5 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9df120510444c1ebe5fea7a7ca8e07d5"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a9df120510444c1ebe5fea7a7ca8e07d5">open</a> ()</td></tr>
<tr class="memdesc:a9df120510444c1ebe5fea7a7ca8e07d5 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open device. <br /></td></tr>
<tr class="separator:a9df120510444c1ebe5fea7a7ca8e07d5 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ee1d02b01cc6d6657f78de396bde36b inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ee1d02b01cc6d6657f78de396bde36b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a7ee1d02b01cc6d6657f78de396bde36b">open</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &amp;_path)</td></tr>
<tr class="memdesc:a7ee1d02b01cc6d6657f78de396bde36b inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open device with path "path". <br /></td></tr>
<tr class="separator:a7ee1d02b01cc6d6657f78de396bde36b inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab14452c5213f4fc28948e15d74c011fb inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab14452c5213f4fc28948e15d74c011fb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ab14452c5213f4fc28948e15d74c011fb">open</a> (const <a class="el" href="class_p_i_i_o_device.html#a546a024c6ff4a1dca9350b520e73b595">DeviceMode</a> &amp;_mode)</td></tr>
<tr class="memdesc:ab14452c5213f4fc28948e15d74c011fb inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open device with mode "mode". <br /></td></tr>
<tr class="separator:ab14452c5213f4fc28948e15d74c011fb inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af137f0f194302d7d9e8d1a16355dc698 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af137f0f194302d7d9e8d1a16355dc698"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#af137f0f194302d7d9e8d1a16355dc698">open</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &amp;_path, const <a class="el" href="class_p_i_i_o_device.html#a546a024c6ff4a1dca9350b520e73b595">DeviceMode</a> &amp;_mode)</td></tr>
<tr class="memdesc:af137f0f194302d7d9e8d1a16355dc698 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open device with path "path" and mode "mode". <br /></td></tr>
<tr class="separator:af137f0f194302d7d9e8d1a16355dc698 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad59f415f0fec6692f1b2982b7deabf50 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad59f415f0fec6692f1b2982b7deabf50"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ad59f415f0fec6692f1b2982b7deabf50">close</a> ()</td></tr>
<tr class="memdesc:ad59f415f0fec6692f1b2982b7deabf50 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close device. <br /></td></tr>
<tr class="separator:ad59f415f0fec6692f1b2982b7deabf50 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac057b3e06d4e830e5b36c36a86c17054 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac057b3e06d4e830e5b36c36a86c17054"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ac057b3e06d4e830e5b36c36a86c17054">initialize</a> ()</td></tr>
<tr class="memdesc:ac057b3e06d4e830e5b36c36a86c17054 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize device. <br /></td></tr>
<tr class="separator:ac057b3e06d4e830e5b36c36a86c17054 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7b78570d28f2db6457e47826a1b5d31 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7b78570d28f2db6457e47826a1b5d31"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ad7b78570d28f2db6457e47826a1b5d31">flush</a> ()</td></tr>
<tr class="memdesc:ad7b78570d28f2db6457e47826a1b5d31 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediate write all buffers. <br /></td></tr>
<tr class="separator:ad7b78570d28f2db6457e47826a1b5d31 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25901752de62f5099ac32b90409d8242 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25901752de62f5099ac32b90409d8242"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a25901752de62f5099ac32b90409d8242">opened</a> ()</td></tr>
<tr class="memdesc:a25901752de62f5099ac32b90409d8242 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raise if succesfull open. <br /></td></tr>
<tr class="separator:a25901752de62f5099ac32b90409d8242 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e85eb26b57d368ba14e3824788c83ba inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e85eb26b57d368ba14e3824788c83ba"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a2e85eb26b57d368ba14e3824788c83ba">closed</a> ()</td></tr>
<tr class="memdesc:a2e85eb26b57d368ba14e3824788c83ba inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raise if succesfull close. <br /></td></tr>
<tr class="separator:a2e85eb26b57d368ba14e3824788c83ba inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae35ceb9623e56caad53cdf8699b7d327 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae35ceb9623e56caad53cdf8699b7d327"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ae35ceb9623e56caad53cdf8699b7d327">threadedReadEvent</a> (uchar *readed, int size)</td></tr>
<tr class="memdesc:ae35ceb9623e56caad53cdf8699b7d327 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raise if read thread succesfull read some data. <br /></td></tr>
<tr class="separator:ae35ceb9623e56caad53cdf8699b7d327 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abadfd017efac451192e3a836e7a91497 inherit pub_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abadfd017efac451192e3a836e7a91497"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#abadfd017efac451192e3a836e7a91497">threadedWriteEvent</a> (ullong id, int written_size)</td></tr>
<tr class="memdesc:abadfd017efac451192e3a836e7a91497 inherit pub_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raise if write thread succesfull write some data of task with ID "id". <br /></td></tr>
<tr class="separator:abadfd017efac451192e3a836e7a91497 inherit pub_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_p_i_thread"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_p_i_thread')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_p_i_thread.html">PIThread</a></td></tr>
<tr class="memitem:adaa3b942365cb17b3e985648128e5f7e inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adaa3b942365cb17b3e985648128e5f7e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#adaa3b942365cb17b3e985648128e5f7e">PIThread</a> (void *<a class="el" href="class_p_i_thread.html#aa3c4138dc000e34fb74140d0a5be3afe">data</a>, ThreadFunc func, bool startNow=false, int loop_delay=-1)</td></tr>
<tr class="memdesc:adaa3b942365cb17b3e985648128e5f7e inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay". <br /></td></tr>
<tr class="separator:adaa3b942365cb17b3e985648128e5f7e inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a538752277df4d58134b05ef080ed6b04 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a538752277df4d58134b05ef080ed6b04"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a538752277df4d58134b05ef080ed6b04">PIThread</a> (bool startNow=false, int loop_delay=-1)</td></tr>
<tr class="memdesc:a538752277df4d58134b05ef080ed6b04 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contructs thread with main loop delay "loop_delay". <br /></td></tr>
<tr class="separator:a538752277df4d58134b05ef080ed6b04 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a221e15d1a4093b7db6cc579fc8be69b6 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a221e15d1a4093b7db6cc579fc8be69b6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a221e15d1a4093b7db6cc579fc8be69b6">setData</a> (void *d)</td></tr>
<tr class="memdesc:a221e15d1a4093b7db6cc579fc8be69b6 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set common data passed to external function. <br /></td></tr>
<tr class="separator:a221e15d1a4093b7db6cc579fc8be69b6 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85c22bf31dae02180827f2952e3594ee inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85c22bf31dae02180827f2952e3594ee"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a85c22bf31dae02180827f2952e3594ee">setSlot</a> (ThreadFunc func)</td></tr>
<tr class="memdesc:a85c22bf31dae02180827f2952e3594ee inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set external function that will be executed after every <em><a class="el" href="class_p_i_thread.html#a8c9cacfd381e0e02eb6e52810d48ce2e" title="Function executed at every &quot;timer_delay&quot; msecs until thread was stopped. ">run()</a></em> <br /></td></tr>
<tr class="separator:a85c22bf31dae02180827f2952e3594ee inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade6ddabe46917c5cef2f5da1dd613a69 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade6ddabe46917c5cef2f5da1dd613a69"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#ade6ddabe46917c5cef2f5da1dd613a69">setPriority</a> (<a class="el" href="class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77b">PIThread::Priority</a> prior)</td></tr>
<tr class="memdesc:ade6ddabe46917c5cef2f5da1dd613a69 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set priority of thread. <br /></td></tr>
<tr class="separator:ade6ddabe46917c5cef2f5da1dd613a69 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3c4138dc000e34fb74140d0a5be3afe inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3c4138dc000e34fb74140d0a5be3afe"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#aa3c4138dc000e34fb74140d0a5be3afe">data</a> () const </td></tr>
<tr class="memdesc:aa3c4138dc000e34fb74140d0a5be3afe inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns common data passed to external function. <br /></td></tr>
<tr class="separator:aa3c4138dc000e34fb74140d0a5be3afe inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcc0d49a7914cba2b3edc86c454ee3a6 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adcc0d49a7914cba2b3edc86c454ee3a6"></a>
<a class="el" href="class_p_i_thread.html#a3ddcafb0b09d3ed258a519882986a77b">PIThread::Priority</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#adcc0d49a7914cba2b3edc86c454ee3a6">priority</a> () const </td></tr>
<tr class="memdesc:adcc0d49a7914cba2b3edc86c454ee3a6 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return priority of thread. <br /></td></tr>
<tr class="separator:adcc0d49a7914cba2b3edc86c454ee3a6 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46720d79609ec893d9eb5eaa2354c414 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46720d79609ec893d9eb5eaa2354c414"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a46720d79609ec893d9eb5eaa2354c414">isRunning</a> () const </td></tr>
<tr class="memdesc:a46720d79609ec893d9eb5eaa2354c414 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <code>true</code> if thread is running. <br /></td></tr>
<tr class="separator:a46720d79609ec893d9eb5eaa2354c414 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87a8b9315e3e2c0eb8bfeb864474da57 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87a8b9315e3e2c0eb8bfeb864474da57"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a87a8b9315e3e2c0eb8bfeb864474da57">needLockRun</a> (bool need)</td></tr>
<tr class="memdesc:a87a8b9315e3e2c0eb8bfeb864474da57 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set necessity of lock every <em>run</em> with internal mutex. <br /></td></tr>
<tr class="separator:a87a8b9315e3e2c0eb8bfeb864474da57 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaff22c99b5f5ba444671d658eba2f14 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeaff22c99b5f5ba444671d658eba2f14"></a>
<a class="el" href="class_p_i_mutex.html">PIMutex</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#aeaff22c99b5f5ba444671d658eba2f14">mutex</a> ()</td></tr>
<tr class="memdesc:aeaff22c99b5f5ba444671d658eba2f14 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return internal mutex. <br /></td></tr>
<tr class="separator:aeaff22c99b5f5ba444671d658eba2f14 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fb7161b42840be7fb2f738046887b39 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a5fb7161b42840be7fb2f738046887b39">start</a> (int timer_delay)</td></tr>
<tr class="memdesc:a5fb7161b42840be7fb2f738046887b39 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start thread. <a href="#a5fb7161b42840be7fb2f738046887b39">More...</a><br /></td></tr>
<tr class="separator:a5fb7161b42840be7fb2f738046887b39 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38785bbce4ef9afb7116cea78beffa08 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a38785bbce4ef9afb7116cea78beffa08">start</a> (ThreadFunc func, int timer_delay)</td></tr>
<tr class="memdesc:a38785bbce4ef9afb7116cea78beffa08 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start thread. <a href="#a38785bbce4ef9afb7116cea78beffa08">More...</a><br /></td></tr>
<tr class="separator:a38785bbce4ef9afb7116cea78beffa08 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44a9fe015ea8288a0a336b614ff2962b inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a44a9fe015ea8288a0a336b614ff2962b">startOnce</a> ()</td></tr>
<tr class="memdesc:a44a9fe015ea8288a0a336b614ff2962b inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start thread without internal loop. <a href="#a44a9fe015ea8288a0a336b614ff2962b">More...</a><br /></td></tr>
<tr class="separator:a44a9fe015ea8288a0a336b614ff2962b inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad50035fe7d3a2557178b6b46f6fa4861 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#ad50035fe7d3a2557178b6b46f6fa4861">startOnce</a> (ThreadFunc func)</td></tr>
<tr class="memdesc:ad50035fe7d3a2557178b6b46f6fa4861 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start thread without internal loop. <a href="#ad50035fe7d3a2557178b6b46f6fa4861">More...</a><br /></td></tr>
<tr class="separator:ad50035fe7d3a2557178b6b46f6fa4861 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37e179466edd8011aca3a07e10153e62 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a37e179466edd8011aca3a07e10153e62">stop</a> (bool wait)</td></tr>
<tr class="memdesc:a37e179466edd8011aca3a07e10153e62 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop thread. <a href="#a37e179466edd8011aca3a07e10153e62">More...</a><br /></td></tr>
<tr class="separator:a37e179466edd8011aca3a07e10153e62 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2004de7b6aa59ecb50321571b932ec20 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a2004de7b6aa59ecb50321571b932ec20">terminate</a> ()</td></tr>
<tr class="memdesc:a2004de7b6aa59ecb50321571b932ec20 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Strongly stop thread. <a href="#a2004de7b6aa59ecb50321571b932ec20">More...</a><br /></td></tr>
<tr class="separator:a2004de7b6aa59ecb50321571b932ec20 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bcffcc0d12bdd6d8ddd455a15241313 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a8bcffcc0d12bdd6d8ddd455a15241313">waitForStart</a> (int timeout_msecs)</td></tr>
<tr class="memdesc:a8bcffcc0d12bdd6d8ddd455a15241313 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for thread start. <a href="#a8bcffcc0d12bdd6d8ddd455a15241313">More...</a><br /></td></tr>
<tr class="separator:a8bcffcc0d12bdd6d8ddd455a15241313 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae325266c7f3484ad52c0a5c690cc222c inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#ae325266c7f3484ad52c0a5c690cc222c">waitForFinish</a> (int timeout_msecs)</td></tr>
<tr class="memdesc:ae325266c7f3484ad52c0a5c690cc222c inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for thread finish. <a href="#ae325266c7f3484ad52c0a5c690cc222c">More...</a><br /></td></tr>
<tr class="separator:ae325266c7f3484ad52c0a5c690cc222c inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a221de2cf94a569a223bfc4456c0f4fed inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a221de2cf94a569a223bfc4456c0f4fed"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a221de2cf94a569a223bfc4456c0f4fed">lock</a> ()</td></tr>
<tr class="memdesc:a221de2cf94a569a223bfc4456c0f4fed inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lock internal mutex. <br /></td></tr>
<tr class="separator:a221de2cf94a569a223bfc4456c0f4fed inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82baf1fe4608234ba76b68540100ee73 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82baf1fe4608234ba76b68540100ee73"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a82baf1fe4608234ba76b68540100ee73">unlock</a> ()</td></tr>
<tr class="memdesc:a82baf1fe4608234ba76b68540100ee73 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlock internal mutex. <br /></td></tr>
<tr class="separator:a82baf1fe4608234ba76b68540100ee73 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b91eb8632e75e0f00a625f28a0bedd1 inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b91eb8632e75e0f00a625f28a0bedd1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#a6b91eb8632e75e0f00a625f28a0bedd1">started</a> ()</td></tr>
<tr class="memdesc:a6b91eb8632e75e0f00a625f28a0bedd1 inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raise on thread start. <br /></td></tr>
<tr class="separator:a6b91eb8632e75e0f00a625f28a0bedd1 inherit pub_methods_class_p_i_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6350430814f777fdce81f99cbba4c1a inherit pub_methods_class_p_i_thread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6350430814f777fdce81f99cbba4c1a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_thread.html#aa6350430814f777fdce81f99cbba4c1a">stopped</a> ()</td></tr>
<tr class="memdesc:aa6350430814f777fdce81f99cbba4c1a inherit pub_methods_class_p_i_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raise on thread stop. <br /></td></tr>
<tr class="separator:aa6350430814f777fdce81f99cbba4c1a inherit pub_methods_class_p_i_thread"><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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">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 -> 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:aee2242a0210f2a009d63764e01a37338 inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee2242a0210f2a009d63764e01a37338"></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#aee2242a0210f2a009d63764e01a37338">name</a> () const </td></tr>
<tr class="memdesc:aee2242a0210f2a009d63764e01a37338 inherit pub_methods_class_p_i_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns object name. <br /></td></tr>
<tr class="separator:aee2242a0210f2a009d63764e01a37338 inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5da8208d12e37e5277db308939208150 inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5da8208d12e37e5277db308939208150"></a>
virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a5da8208d12e37e5277db308939208150">className</a> () const </td></tr>
<tr class="memdesc:a5da8208d12e37e5277db308939208150 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:a5da8208d12e37e5277db308939208150 inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41060ba64a882ef4c3b24dc868c5635c inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a41060ba64a882ef4c3b24dc868c5635c"></a>
virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a41060ba64a882ef4c3b24dc868c5635c">superClassName</a> () const </td></tr>
<tr class="memdesc:a41060ba64a882ef4c3b24dc868c5635c inherit pub_methods_class_p_i_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns object superclass name. <br /></td></tr>
<tr class="separator:a41060ba64a882ef4c3b24dc868c5635c inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a286d39fdf2dacf8bc1f26c8744d8bf18 inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a286d39fdf2dacf8bc1f26c8744d8bf18"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a286d39fdf2dacf8bc1f26c8744d8bf18">debug</a> () const </td></tr>
<tr class="memdesc:a286d39fdf2dacf8bc1f26c8744d8bf18 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:a286d39fdf2dacf8bc1f26c8744d8bf18 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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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#a286d39fdf2dacf8bc1f26c8744d8bf18">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:aeb8178ed4012f204d2c89a8413bbcd2d inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb8178ed4012f204d2c89a8413bbcd2d"></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#aeb8178ed4012f204d2c89a8413bbcd2d">properties</a> () const </td></tr>
<tr class="memdesc:aeb8178ed4012f204d2c89a8413bbcd2d 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:aeb8178ed4012f204d2c89a8413bbcd2d inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68dbd55885a081be717ff818dcb31bcc inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a68dbd55885a081be717ff818dcb31bcc"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a68dbd55885a081be717ff818dcb31bcc">propertiesCount</a> () const </td></tr>
<tr class="memdesc:a68dbd55885a081be717ff818dcb31bcc 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:a68dbd55885a081be717ff818dcb31bcc inherit pub_methods_class_p_i_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0cadfad8b61e8c994abde7d2d4853ac inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad0cadfad8b61e8c994abde7d2d4853ac"></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#ad0cadfad8b61e8c994abde7d2d4853ac">property</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &amp;<a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">name</a>) const </td></tr>
<tr class="memdesc:ad0cadfad8b61e8c994abde7d2d4853ac 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:ad0cadfad8b61e8c994abde7d2d4853ac 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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">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:a8d6bd4c57aa01dc41e1b28720f9604a7 inherit pub_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d6bd4c57aa01dc41e1b28720f9604a7"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_object.html#a8d6bd4c57aa01dc41e1b28720f9604a7">isPropertyExists</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &amp;<a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">name</a>) const </td></tr>
<tr class="memdesc:a8d6bd4c57aa01dc41e1b28720f9604a7 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:a8d6bd4c57aa01dc41e1b28720f9604a7 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:a96d2078759a69327089faeb37e09bf69"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#a96d2078759a69327089faeb37e09bf69">validateHeader</a> (uchar *src, uchar *rec, int size)</td></tr>
<tr class="memdesc:a96d2078759a69327089faeb37e09bf69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to validate header. <a href="#a96d2078759a69327089faeb37e09bf69">More...</a><br /></td></tr>
<tr class="separator:a96d2078759a69327089faeb37e09bf69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad52e9d11097e5b1d846787fcd1acb5ed"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#ad52e9d11097e5b1d846787fcd1acb5ed">validateFooter</a> (uchar *src, uchar *rec, int size)</td></tr>
<tr class="memdesc:ad52e9d11097e5b1d846787fcd1acb5ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to validate footer. <a href="#ad52e9d11097e5b1d846787fcd1acb5ed">More...</a><br /></td></tr>
<tr class="separator:ad52e9d11097e5b1d846787fcd1acb5ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1b8d323e26be97a126f3950e37ba647"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#ab1b8d323e26be97a126f3950e37ba647">validatePayload</a> (uchar *rec, int size)</td></tr>
<tr class="memdesc:ab1b8d323e26be97a126f3950e37ba647"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to validate payload. <a href="#ab1b8d323e26be97a126f3950e37ba647">More...</a><br /></td></tr>
<tr class="separator:ab1b8d323e26be97a126f3950e37ba647"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_p_i_i_o_device"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_p_i_i_o_device')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_p_i_i_o_device.html">PIIODevice</a></td></tr>
<tr class="memitem:a587c32639f2732920338a363ad163d81 inherit pro_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a587c32639f2732920338a363ad163d81"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a587c32639f2732920338a363ad163d81">init</a> ()</td></tr>
<tr class="memdesc:a587c32639f2732920338a363ad163d81 inherit pro_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function executed before first <em><a class="el" href="class_p_i_i_o_device.html#ae62b3035a9f884d345fd5d071c8089c8" title="Reimplement to open device, return value will be set to &quot;opened_&quot; variable. ">openDevice()</a></em> or from constructor. <br /></td></tr>
<tr class="separator:a587c32639f2732920338a363ad163d81 inherit pro_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7c5a2d7b6ea2409df4e200c8e4b8e32 inherit pro_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae7c5a2d7b6ea2409df4e200c8e4b8e32"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ae7c5a2d7b6ea2409df4e200c8e4b8e32">configureDevice</a> (const void *e_main, const void *e_parent=0)</td></tr>
<tr class="memdesc:ae7c5a2d7b6ea2409df4e200c8e4b8e32 inherit pro_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reimplement to configure device from entries "e_main" and "e_parent", cast arguments to <em><a class="el" href="class_p_i_config_1_1_entry.html" title="Entry of configuration file ">PIConfig::Entry</a>*</em>. <br /></td></tr>
<tr class="separator:ae7c5a2d7b6ea2409df4e200c8e4b8e32 inherit pro_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf041ac27ee2b9af4828fbe2f4b5b1e2 inherit pro_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf041ac27ee2b9af4828fbe2f4b5b1e2"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#aaf041ac27ee2b9af4828fbe2f4b5b1e2">closeDevice</a> ()</td></tr>
<tr class="memdesc:aaf041ac27ee2b9af4828fbe2f4b5b1e2 inherit pro_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reimplement to close device, inverse return value will be set to "opened_" variable. <br /></td></tr>
<tr class="separator:aaf041ac27ee2b9af4828fbe2f4b5b1e2 inherit pro_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb3edefa3b78b06e0f293936c15a74ab inherit pro_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb3edefa3b78b06e0f293936c15a74ab"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#aeb3edefa3b78b06e0f293936c15a74ab">configureFromFullPath</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &amp;full_path)</td></tr>
<tr class="memdesc:aeb3edefa3b78b06e0f293936c15a74ab inherit pro_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reimplement to configure your device with parameters of full unambiguous string. Default implementation does nothing. <br /></td></tr>
<tr class="separator:aeb3edefa3b78b06e0f293936c15a74ab inherit pro_methods_class_p_i_i_o_device"><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:a2f43644909496ba11ca294a67ed18deb inherit pro_methods_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f43644909496ba11ca294a67ed18deb"></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#a2f43644909496ba11ca294a67ed18deb">emitter</a> () const </td></tr>
<tr class="memdesc:a2f43644909496ba11ca294a67ed18deb 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:a2f43644909496ba11ca294a67ed18deb 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="#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>
Events</h2></td></tr>
<tr class="memitem:a008181ba36bc58a7dcc137f49fcad261"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a008181ba36bc58a7dcc137f49fcad261"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_packet_extractor.html#a008181ba36bc58a7dcc137f49fcad261">packetReceived</a> (uchar *data, int size)</td></tr>
<tr class="memdesc:a008181ba36bc58a7dcc137f49fcad261"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raise on successfull <em>packetValidate()</em> function. <br /></td></tr>
<tr class="separator:a008181ba36bc58a7dcc137f49fcad261"><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_i_o_device"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_class_p_i_i_o_device')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="class_p_i_i_o_device.html">PIIODevice</a></td></tr>
<tr class="memitem:ac47c4f61ade6d4f9a847e0d55abcf150 inherit pub_static_methods_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_p_i_i_o_device.html">PIIODevice</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ac47c4f61ade6d4f9a847e0d55abcf150">createFromFullPath</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &amp;full_path)</td></tr>
<tr class="memdesc:ac47c4f61ade6d4f9a847e0d55abcf150 inherit pub_static_methods_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Try to determine suitable device, create new one, configure it with <em><a class="el" href="class_p_i_i_o_device.html#aeb3edefa3b78b06e0f293936c15a74ab" title="Reimplement to configure your device with parameters of full unambiguous string. Default implementati...">configureFromFullPath()</a></em> and returns it. <a href="#ac47c4f61ade6d4f9a847e0d55abcf150">More...</a><br /></td></tr>
<tr class="separator:ac47c4f61ade6d4f9a847e0d55abcf150 inherit pub_static_methods_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</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 class="anchor" 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 class="anchor" 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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">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 pub_attribs_class_p_i_i_o_device"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_class_p_i_i_o_device')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="class_p_i_i_o_device.html">PIIODevice</a></td></tr>
<tr class="memitem:ad2483280da735187cfb6e05e84eebc6f inherit pub_attribs_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2483280da735187cfb6e05e84eebc6f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#ad2483280da735187cfb6e05e84eebc6f">reopenEnabled</a></td></tr>
<tr class="memdesc:ad2483280da735187cfb6e05e84eebc6f inherit pub_attribs_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">setReopenEnabled, default "true" <br /></td></tr>
<tr class="separator:ad2483280da735187cfb6e05e84eebc6f inherit pub_attribs_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa4b61e2d131c7ccd2db8e16a91c6500 inherit pub_attribs_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa4b61e2d131c7ccd2db8e16a91c6500"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#aaa4b61e2d131c7ccd2db8e16a91c6500">reopenTimeout</a></td></tr>
<tr class="memdesc:aaa4b61e2d131c7ccd2db8e16a91c6500 inherit pub_attribs_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">setReopenTimeout in ms, default 1000 <br /></td></tr>
<tr class="separator:aaa4b61e2d131c7ccd2db8e16a91c6500 inherit pub_attribs_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80ed0c7af3e062aecff43c2cb3e85804 inherit pub_attribs_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80ed0c7af3e062aecff43c2cb3e85804"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a80ed0c7af3e062aecff43c2cb3e85804">threadedReadBufferSize</a></td></tr>
<tr class="memdesc:a80ed0c7af3e062aecff43c2cb3e85804 inherit pub_attribs_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">setThreadedReadBufferSize in bytes, default 4096 <br /></td></tr>
<tr class="separator:a80ed0c7af3e062aecff43c2cb3e85804 inherit pub_attribs_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header related_class_p_i_i_o_device"><td colspan="2" onclick="javascript:toggleInherit('related_class_p_i_i_o_device')"><img src="closed.png" alt="-"/>&#160;Related Functions inherited from <a class="el" href="class_p_i_i_o_device.html">PIIODevice</a></td></tr>
<tr class="memitem:add5b851e98d22dd4d7482a8e509113dc inherit related_class_p_i_i_o_device"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:add5b851e98d22dd4d7482a8e509113dc inherit related_class_p_i_i_o_device"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#add5b851e98d22dd4d7482a8e509113dc">readDeviceSetting</a> (const <a class="el" href="class_p_i_string.html">PIString</a> &amp;<a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">name</a>, const T &amp;def, const <a class="el" href="class_p_i_config_1_1_entry.html">PIConfig::Entry</a> *em, const <a class="el" href="class_p_i_config_1_1_entry.html">PIConfig::Entry</a> *ep)</td></tr>
<tr class="memdesc:add5b851e98d22dd4d7482a8e509113dc inherit related_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Service function. useful for configuring devices. <a href="#add5b851e98d22dd4d7482a8e509113dc">More...</a><br /></td></tr>
<tr class="separator:add5b851e98d22dd4d7482a8e509113dc inherit related_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a672a05d4391737b8fecd4524f1a47bda inherit related_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a672a05d4391737b8fecd4524f1a47bda"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a672a05d4391737b8fecd4524f1a47bda">REGISTER_DEVICE</a>(class)</td></tr>
<tr class="memdesc:a672a05d4391737b8fecd4524f1a47bda inherit related_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use this macro to enable automatic creation instances of your class with <em><a class="el" href="class_p_i_i_o_device.html#ac47c4f61ade6d4f9a847e0d55abcf150" title="Try to determine suitable device, create new one, configure it with configureFromFullPath() and retur...">createFromFullPath()</a></em> function. <br /></td></tr>
<tr class="separator:a672a05d4391737b8fecd4524f1a47bda inherit related_class_p_i_i_o_device"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5adabd429443716b75771317ec43301b inherit related_class_p_i_i_o_device"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5adabd429443716b75771317ec43301b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_i_i_o_device.html#a5adabd429443716b75771317ec43301b">PIIODEVICE</a>(class)</td></tr>
<tr class="memdesc:a5adabd429443716b75771317ec43301b inherit related_class_p_i_i_o_device"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use this macro instead of PIOBJECT when describe your own <a class="el" href="class_p_i_i_o_device.html" title="Base class for input/output classes. ">PIIODevice</a>. <br /></td></tr>
<tr class="separator:a5adabd429443716b75771317ec43301b inherit related_class_p_i_i_o_device"><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 class="anchor" 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#a286d39fdf2dacf8bc1f26c8744d8bf18" 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">&#160;</td></tr>
<tr class="memitem:affa62b02040517a34b3f173d804e487f inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a class="anchor" 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#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">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 <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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>)&#160;&#160;&#160;ret <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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#aee2242a0210f2a009d63764e01a37338" 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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>, type0, var0)&#160;&#160;&#160;ret <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>, type0, var0, type1, var1)&#160;&#160;&#160;ret <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>, type0, var0, type1, var1, type2, var2)&#160;&#160;&#160;ret <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>, type0, var0, type1, var1, type2, var2, type3, var3)&#160;&#160;&#160;ret <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>)&#160;&#160;&#160;virtual ret <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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#aee2242a0210f2a009d63764e01a37338" 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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>, type0, var0)&#160;&#160;&#160;virtual ret <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>, type0, var0, type1, var1)&#160;&#160;&#160;virtual ret <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>, type0, var0, type1, var1, type2, var2)&#160;&#160;&#160;virtual ret <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>, type0, var0, type1, var1, type2, var2, type3, var3)&#160;&#160;&#160;virtual ret <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>)&#160;&#160;&#160;void <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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#aee2242a0210f2a009d63764e01a37338" 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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>, type0, var0)&#160;&#160;&#160;void <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>, type0, var0, type1, var1)&#160;&#160;&#160;void <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>, type0, var0, type1, var1, type2, var2)&#160;&#160;&#160;void <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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#aee2242a0210f2a009d63764e01a37338">name</a>, type0, var0, type1, var1, type2, var2, type3, var3)&#160;&#160;&#160;void <a class="el" href="class_p_i_object.html#aee2242a0210f2a009d63764e01a37338">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 class="anchor" 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 class="anchor" 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:a38e74a7ce99df00a10517f5ce4aa66c5 inherit related_class_p_i_object"><td class="memItemLeft" align="right" valign="top"><a class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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 class="anchor" 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>Packets extractor. </p>
<h1><a class="anchor" id="PIPacketExtractor_main"></a>
Synopsis</h1>
<p>This class implements packet recognition by various algorithms and custom validating from data stream. Stream is formed from child PIIODevice passed from contructor or with function <em><a class="el" href="class_p_i_packet_extractor.html#a82db047d7e3e58f8026028857b6b69c4" title="Set child device to &quot;device_&quot;. ">setDevice()</a></em>.</p>
<h1><a class="anchor" id="PIPacketExtractor_work"></a>
Principle of work</h1>
<p>PIPacketExtractor works with child PIIODevice. <em>read</em> and <em>write</em> functions directly call child device functions. You should start threaded read of <b>extractor</b> (not child device) to proper work. Extractor read data from child device, try to detect packet from readed data and raise <em><a class="el" href="class_p_i_packet_extractor.html#a008181ba36bc58a7dcc137f49fcad261" title="Raise on successfull packetValidate() function. ">packetReceived()</a></em> event on success.</p>
<h1><a class="anchor" id="PIPacketExtractor_algorithms"></a>
Algorithms</h1>
<p>There are 6 algorithms: <br />
</p><ul>
<li><a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6aab134660d4356d548ad2c7e9bb3ecae0">PIPacketExtractor::None</a> <br />
Packet is successfully received on every read without any validation. <br />
<br />
</li>
<li><a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a29b623cae95dfd777979c401d881c57f">PIPacketExtractor::Header</a> <br />
Wait for at least <em><a class="el" href="class_p_i_packet_extractor.html#a8e6ff4a862b5fc4826ceae42d630174c" title="Returns current header data, used for PIPacketExtractor::Header and PIPacketExtractor::HeaderAndFoote...">header()</a></em> bytes + <em><a class="el" href="class_p_i_packet_extractor.html#af22580e67cd2601575a7834a4c9b414c" title="Returns current payload size, used for PIPacketExtractor::Header and PIPacketExtractor::Footer algori...">payloadSize()</a></em>, then validate header with virtual function <em><a class="el" href="class_p_i_packet_extractor.html#a96d2078759a69327089faeb37e09bf69" title="Function to validate header. ">validateHeader()</a></em> and if it fail, shifts for next 1 byte. If header is successfully validated check payload with function <em><a class="el" href="class_p_i_packet_extractor.html#ab1b8d323e26be97a126f3950e37ba647" title="Function to validate payload. ">validatePayload()</a></em> and if it fail, shifts for next 1 byte. If all validations were successful raise <em><a class="el" href="class_p_i_packet_extractor.html#a008181ba36bc58a7dcc137f49fcad261" title="Raise on successfull packetValidate() function. ">packetReceived()</a></em> event. <br />
<br />
</li>
<li><a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a48ccac0df6bcb7bccaa01eb3df28f096">PIPacketExtractor::Footer</a> <br />
This algorithm similar to previous, but instead of <em><a class="el" href="class_p_i_packet_extractor.html#a8e6ff4a862b5fc4826ceae42d630174c" title="Returns current header data, used for PIPacketExtractor::Header and PIPacketExtractor::HeaderAndFoote...">header()</a></em> first validate <em><a class="el" href="class_p_i_packet_extractor.html#a6382b9238ce84d3c93044dc96748d42a" title="Returns current footer data, used for PIPacketExtractor::Footer and PIPacketExtractor::HeaderAndFoote...">footer()</a></em> at after <em><a class="el" href="class_p_i_packet_extractor.html#af22580e67cd2601575a7834a4c9b414c" title="Returns current payload size, used for PIPacketExtractor::Header and PIPacketExtractor::Footer algori...">payloadSize()</a></em> bytes with function <em><a class="el" href="class_p_i_packet_extractor.html#ad52e9d11097e5b1d846787fcd1acb5ed" title="Function to validate footer. ">validateFooter()</a></em>. <br />
<br />
</li>
<li><a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6aa588a5c0306511f74b66e60a24373f01">PIPacketExtractor::HeaderAndFooter</a> <br />
Wait for at least <em><a class="el" href="class_p_i_packet_extractor.html#a8e6ff4a862b5fc4826ceae42d630174c" title="Returns current header data, used for PIPacketExtractor::Header and PIPacketExtractor::HeaderAndFoote...">header()</a></em> bytes + <em><a class="el" href="class_p_i_packet_extractor.html#a6382b9238ce84d3c93044dc96748d42a" title="Returns current footer data, used for PIPacketExtractor::Footer and PIPacketExtractor::HeaderAndFoote...">footer()</a></em> bytes, then validate header with virtual function <em><a class="el" href="class_p_i_packet_extractor.html#a96d2078759a69327089faeb37e09bf69" title="Function to validate header. ">validateHeader()</a></em> and if it fail, shifts for next 1 byte. If header is successfully validated check footer with function <em><a class="el" href="class_p_i_packet_extractor.html#ad52e9d11097e5b1d846787fcd1acb5ed" title="Function to validate footer. ">validateFooter()</a></em> and if it fail, shifts footer position for next 1 byte. Then validate payload and if it fail, search header again, starts from next byte of previous header. If all validations were successful raise <em><a class="el" href="class_p_i_packet_extractor.html#a008181ba36bc58a7dcc137f49fcad261" title="Raise on successfull packetValidate() function. ">packetReceived()</a></em> event. <br />
<br />
</li>
<li><a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a169d7eb9668b7d6077f6c00c558b12eb">PIPacketExtractor::Size</a> <br />
Wait for at least <em><a class="el" href="class_p_i_packet_extractor.html#a033ac83733f23c61a65ad9c810123219" title="Returns current packet size, used for PIPacketExtractor::Size algorithm. ">packetSize()</a></em> bytes, then validate packet with function <em><a class="el" href="class_p_i_packet_extractor.html#ab1b8d323e26be97a126f3950e37ba647" title="Function to validate payload. ">validatePayload()</a></em> and if it fail, shifts for next 1 byte. If validating was successfull raise <em><a class="el" href="class_p_i_packet_extractor.html#a008181ba36bc58a7dcc137f49fcad261" title="Raise on successfull packetValidate() function. ">packetReceived()</a></em> event. <br />
<br />
</li>
<li><a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6a4ea0db7f406eaa97adbacd580b919903">PIPacketExtractor::Timeout</a> <br />
Wait for first read, then read for <em><a class="el" href="class_p_i_packet_extractor.html#a369b3bfd48065cf9da70788015d6d020" title="Returns current timeout in milliseconds, used for PIPacketExtractor::Timeout algorithm. ">timeout()</a></em> milliseconds and raise <em><a class="el" href="class_p_i_packet_extractor.html#a008181ba36bc58a7dcc137f49fcad261" title="Raise on successfull packetValidate() function. ">packetReceived()</a></em> event. <br />
</li>
</ul>
<h1><a class="anchor" id="PIPacketExtractor_control"></a>
Control validating</h1>
<p>There are three parameters:</p><ul>
<li>header content</li>
<li>header size</li>
<li>payload size</li>
</ul>
<p>Extractor can detect packet with compare your header with readed data. It is default implementation of function <em>packetHeaderValidate()</em>. If header validating passed, function <em>packetValidate()</em> will be called. If either of this function return <b>false</b> extractor shifts by one byte and takes next header. If both functions returns <b>true</b> extractor shifts by whole packet size. </p><div class="image">
<img src="packet_detection.png" alt="packet_detection.png"/>
</div>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="aab7f856e1fd64e7bdb2507badae99bb6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="class_p_i_packet_extractor.html#aab7f856e1fd64e7bdb2507badae99bb6">PIPacketExtractor::SplitMode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Extract algorithms. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aab7f856e1fd64e7bdb2507badae99bb6aab134660d4356d548ad2c7e9bb3ecae0"></a>None&#160;</td><td class="fielddoc">
<p>No data processing </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aab7f856e1fd64e7bdb2507badae99bb6a29b623cae95dfd777979c401d881c57f"></a>Header&#160;</td><td class="fielddoc">
<p>Detect packets with <em><a class="el" href="class_p_i_packet_extractor.html#a8e6ff4a862b5fc4826ceae42d630174c" title="Returns current header data, used for PIPacketExtractor::Header and PIPacketExtractor::HeaderAndFoote...">header()</a></em> and following <em><a class="el" href="class_p_i_packet_extractor.html#af22580e67cd2601575a7834a4c9b414c" title="Returns current payload size, used for PIPacketExtractor::Header and PIPacketExtractor::Footer algori...">payloadSize()</a></em> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aab7f856e1fd64e7bdb2507badae99bb6a48ccac0df6bcb7bccaa01eb3df28f096"></a>Footer&#160;</td><td class="fielddoc">
<p>Detect packets with <em><a class="el" href="class_p_i_packet_extractor.html#a6382b9238ce84d3c93044dc96748d42a" title="Returns current footer data, used for PIPacketExtractor::Footer and PIPacketExtractor::HeaderAndFoote...">footer()</a></em> and leading <em><a class="el" href="class_p_i_packet_extractor.html#af22580e67cd2601575a7834a4c9b414c" title="Returns current payload size, used for PIPacketExtractor::Header and PIPacketExtractor::Footer algori...">payloadSize()</a></em> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aab7f856e1fd64e7bdb2507badae99bb6aa588a5c0306511f74b66e60a24373f01"></a>HeaderAndFooter&#160;</td><td class="fielddoc">
<p>Detect packets with <em><a class="el" href="class_p_i_packet_extractor.html#a8e6ff4a862b5fc4826ceae42d630174c" title="Returns current header data, used for PIPacketExtractor::Header and PIPacketExtractor::HeaderAndFoote...">header()</a></em> and <em><a class="el" href="class_p_i_packet_extractor.html#a6382b9238ce84d3c93044dc96748d42a" title="Returns current footer data, used for PIPacketExtractor::Footer and PIPacketExtractor::HeaderAndFoote...">footer()</a></em> without <em><a class="el" href="class_p_i_packet_extractor.html#af22580e67cd2601575a7834a4c9b414c" title="Returns current payload size, used for PIPacketExtractor::Header and PIPacketExtractor::Footer algori...">payloadSize()</a></em> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aab7f856e1fd64e7bdb2507badae99bb6a169d7eb9668b7d6077f6c00c558b12eb"></a>Size&#160;</td><td class="fielddoc">
<p>Detect packets with <em><a class="el" href="class_p_i_packet_extractor.html#a033ac83733f23c61a65ad9c810123219" title="Returns current packet size, used for PIPacketExtractor::Size algorithm. ">packetSize()</a></em> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aab7f856e1fd64e7bdb2507badae99bb6a4ea0db7f406eaa97adbacd580b919903"></a>Timeout&#160;</td><td class="fielddoc">
<p>Wait for first read, then read for <em><a class="el" href="class_p_i_packet_extractor.html#a369b3bfd48065cf9da70788015d6d020" title="Returns current timeout in milliseconds, used for PIPacketExtractor::Timeout algorithm. ">timeout()</a></em> milliseconds </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a96d2078759a69327089faeb37e09bf69"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool PIPacketExtractor::validateHeader </td>
<td>(</td>
<td class="paramtype">uchar *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uchar *&#160;</td>
<td class="paramname"><em>rec</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>size</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>Function to validate header. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">src</td><td>Your header content </td></tr>
<tr><td class="paramname">rec</td><td>Received header </td></tr>
<tr><td class="paramname">size</td><td>Header size</td></tr>
</table>
</dd>
</dl>
<p>Default implementation returns by-byte "src" with "rec" compare result </p>
</div>
</div>
<a class="anchor" id="ad52e9d11097e5b1d846787fcd1acb5ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool PIPacketExtractor::validateFooter </td>
<td>(</td>
<td class="paramtype">uchar *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uchar *&#160;</td>
<td class="paramname"><em>rec</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>size</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>Function to validate footer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">src</td><td>Your footer content </td></tr>
<tr><td class="paramname">rec</td><td>Received footer </td></tr>
<tr><td class="paramname">size</td><td>Footer size</td></tr>
</table>
</dd>
</dl>
<p>Default implementation returns by-byte "src" with "rec" compare result </p>
</div>
</div>
<a class="anchor" id="ab1b8d323e26be97a126f3950e37ba647"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool PIPacketExtractor::validatePayload </td>
<td>(</td>
<td class="paramtype">uchar *&#160;</td>
<td class="paramname"><em>rec</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>size</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>Function to validate payload. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rec</td><td>Received payload </td></tr>
<tr><td class="paramname">size</td><td>payload size</td></tr>
</table>
</dd>
</dl>
<p>Default implementation returns <b>true</b> </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_packet_extractor.html">PIPacketExtractor</a></li>
<li class="footer">Generated on Sat Jan 30 2016 21:43:28 for PIP by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
</ul>
</div>
</body>
</html>