Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > b293cf61b174f6cb974e48c9096dc9b3 > files > 300

lib64commoncpp-devel-1.8.1-7.mga4.x86_64.rpm

<!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.5"/>
<title>GNU CommonC++: ost::SerialService 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="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">GNU CommonC++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</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>
      <li><a href="examples.html"><span>Examples</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="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceost.html">ost</a></li><li class="navelem"><a class="el" href="classost_1_1_serial_service.html">SerialService</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classost_1_1_serial_service-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ost::SerialService Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The <a class="el" href="classost_1_1_serial_service.html" title="The SerialService is a thead service object that is meant to service attached serial ports...">SerialService</a> is a thead service object that is meant to service attached serial ports.  
 <a href="classost_1_1_serial_service.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="serial_8h_source.html">serial.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ost::SerialService:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classost_1_1_serial_service.png" usemap="#ost::SerialService_map" alt=""/>
  <map id="ost::SerialService_map" name="ost::SerialService_map">
<area href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ..." alt="ost::Thread" shape="rect" coords="0,0,111,24"/>
<area href="classost_1_1_mutex.html" title="The Mutex class is used to protect a section of code so that at any given time only a single thread c..." alt="ost::Mutex" shape="rect" coords="121,0,232,24"/>
</map>
 </div></div>
<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:a66efc4ea33b87c147ab0a207eb35a208"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_service.html#a66efc4ea33b87c147ab0a207eb35a208">update</a> (unsigned char flag=0xff)</td></tr>
<tr class="memdesc:a66efc4ea33b87c147ab0a207eb35a208"><td class="mdescLeft">&#160;</td><td class="mdescRight">Notify service thread that a port has been added or removed, or a timer changed, so that a new schedule can be computed for expiring attached ports.  <a href="#a66efc4ea33b87c147ab0a207eb35a208">More...</a><br/></td></tr>
<tr class="separator:a66efc4ea33b87c147ab0a207eb35a208"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a976999ced6e562ef85e13482c4a62667"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_service.html#a976999ced6e562ef85e13482c4a62667">SerialService</a> (int pri=0, size_t stack=0, const char *id=NULL)</td></tr>
<tr class="memdesc:a976999ced6e562ef85e13482c4a62667"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a service thread for attaching serial ports.  <a href="#a976999ced6e562ef85e13482c4a62667">More...</a><br/></td></tr>
<tr class="separator:a976999ced6e562ef85e13482c4a62667"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51858284192f8089ab3cdda7eb431a0c"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_service.html#a51858284192f8089ab3cdda7eb431a0c">~SerialService</a> ()</td></tr>
<tr class="memdesc:a51858284192f8089ab3cdda7eb431a0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate the service thread and update attached objects.  <a href="#a51858284192f8089ab3cdda7eb431a0c">More...</a><br/></td></tr>
<tr class="separator:a51858284192f8089ab3cdda7eb431a0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b613f73f7222745076f9f78aff7c78c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_service.html#a9b613f73f7222745076f9f78aff7c78c">getCount</a> (void)</td></tr>
<tr class="memdesc:a9b613f73f7222745076f9f78aff7c78c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current reference count.  <a href="#a9b613f73f7222745076f9f78aff7c78c">More...</a><br/></td></tr>
<tr class="separator:a9b613f73f7222745076f9f78aff7c78c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classost_1_1_thread"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classost_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classost_1_1_thread.html">ost::Thread</a></td></tr>
<tr class="memitem:a72470c1b00d098e74162284e248c0435 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a72470c1b00d098e74162284e248c0435">Thread</a> (bool isMain)</td></tr>
<tr class="memdesc:a72470c1b00d098e74162284e248c0435 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is actually a special constructor that is used to create a thread "object" for the current execution context when that context is not created via an instance of a derived <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> object itself.  <a href="#a72470c1b00d098e74162284e248c0435">More...</a><br/></td></tr>
<tr class="separator:a72470c1b00d098e74162284e248c0435 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a082ea94f104219969a2d75becc749af6 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a082ea94f104219969a2d75becc749af6">Thread</a> (int pri=0, size_t stack=0)</td></tr>
<tr class="memdesc:a082ea94f104219969a2d75becc749af6 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">When a thread object is contructed, a new thread of execution context is created.  <a href="#a082ea94f104219969a2d75becc749af6">More...</a><br/></td></tr>
<tr class="separator:a082ea94f104219969a2d75becc749af6 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ba7f4211aabb5a278c546d0fae81f55 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a0ba7f4211aabb5a278c546d0fae81f55">Thread</a> (const <a class="el" href="classost_1_1_thread.html">Thread</a> &amp;th)</td></tr>
<tr class="memdesc:a0ba7f4211aabb5a278c546d0fae81f55 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">A thread of execution can also be specified by cloning an existing thread.  <a href="#a0ba7f4211aabb5a278c546d0fae81f55">More...</a><br/></td></tr>
<tr class="separator:a0ba7f4211aabb5a278c546d0fae81f55 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad363397f26006af68fa9315c9bff8589 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ad363397f26006af68fa9315c9bff8589">~Thread</a> ()</td></tr>
<tr class="memdesc:ad363397f26006af68fa9315c9bff8589 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">The thread destructor should clear up any resources that have been allocated by the thread.  <a href="#ad363397f26006af68fa9315c9bff8589">More...</a><br/></td></tr>
<tr class="separator:ad363397f26006af68fa9315c9bff8589 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ef198d7aefb93cf9de4fcc6b66c27a2 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a2ef198d7aefb93cf9de4fcc6b66c27a2">start</a> (<a class="el" href="classost_1_1_semaphore.html">Semaphore</a> *start=0)</td></tr>
<tr class="memdesc:a2ef198d7aefb93cf9de4fcc6b66c27a2 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">When a new thread is created, it does not begin immediate execution.  <a href="#a2ef198d7aefb93cf9de4fcc6b66c27a2">More...</a><br/></td></tr>
<tr class="separator:a2ef198d7aefb93cf9de4fcc6b66c27a2 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac30778f0fffd9dd952fd73cb541cc70b inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ac30778f0fffd9dd952fd73cb541cc70b">detach</a> (<a class="el" href="classost_1_1_semaphore.html">Semaphore</a> *<a class="el" href="classost_1_1_thread.html#a2ef198d7aefb93cf9de4fcc6b66c27a2">start</a>=0)</td></tr>
<tr class="memdesc:ac30778f0fffd9dd952fd73cb541cc70b inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a new thread as "detached".  <a href="#ac30778f0fffd9dd952fd73cb541cc70b">More...</a><br/></td></tr>
<tr class="separator:ac30778f0fffd9dd952fd73cb541cc70b inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac5bc230c3bad5c837baa9e6d01f4c24 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_thread.html">Thread</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#aac5bc230c3bad5c837baa9e6d01f4c24">getParent</a> (void)</td></tr>
<tr class="memdesc:aac5bc230c3bad5c837baa9e6d01f4c24 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the pointer to the <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> class which created the current thread object.  <a href="#aac5bc230c3bad5c837baa9e6d01f4c24">More...</a><br/></td></tr>
<tr class="separator:aac5bc230c3bad5c837baa9e6d01f4c24 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f1b650c1f3b71e458adfbd86b3acb83 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a5f1b650c1f3b71e458adfbd86b3acb83">suspend</a> (void)</td></tr>
<tr class="memdesc:a5f1b650c1f3b71e458adfbd86b3acb83 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspends execution of the selected thread.  <a href="#a5f1b650c1f3b71e458adfbd86b3acb83">More...</a><br/></td></tr>
<tr class="separator:a5f1b650c1f3b71e458adfbd86b3acb83 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0861f734ad77b1ba517fce302215e41e inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a0861f734ad77b1ba517fce302215e41e">resume</a> (void)</td></tr>
<tr class="memdesc:a0861f734ad77b1ba517fce302215e41e inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resumes execution of the selected thread.  <a href="#a0861f734ad77b1ba517fce302215e41e">More...</a><br/></td></tr>
<tr class="separator:a0861f734ad77b1ba517fce302215e41e inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3524521d80bcc0562fb59a28ce5d62a4 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a3524521d80bcc0562fb59a28ce5d62a4">getCancel</a> (void)</td></tr>
<tr class="memdesc:a3524521d80bcc0562fb59a28ce5d62a4 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to retrieve the cancellation mode in effect for the selected thread.  <a href="#a3524521d80bcc0562fb59a28ce5d62a4">More...</a><br/></td></tr>
<tr class="separator:a3524521d80bcc0562fb59a28ce5d62a4 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa04a06a086dffad7ffc67dba4ea431ab inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#aa04a06a086dffad7ffc67dba4ea431ab">isRunning</a> (void) const </td></tr>
<tr class="memdesc:aa04a06a086dffad7ffc67dba4ea431ab inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies if the thread is still running or has already been terminated but not yet deleted.  <a href="#aa04a06a086dffad7ffc67dba4ea431ab">More...</a><br/></td></tr>
<tr class="separator:aa04a06a086dffad7ffc67dba4ea431ab inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bbbe1d6bc6dea6bea48cdabe2c7da20 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a1bbbe1d6bc6dea6bea48cdabe2c7da20">isDetached</a> (void) const </td></tr>
<tr class="memdesc:a1bbbe1d6bc6dea6bea48cdabe2c7da20 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if this thread is detached.  <a href="#a1bbbe1d6bc6dea6bea48cdabe2c7da20">More...</a><br/></td></tr>
<tr class="separator:a1bbbe1d6bc6dea6bea48cdabe2c7da20 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e6d355ea0d9b0b023f3fc2aa91a25e8 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a1e6d355ea0d9b0b023f3fc2aa91a25e8">join</a> (void)</td></tr>
<tr class="memdesc:a1e6d355ea0d9b0b023f3fc2aa91a25e8 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking call which unlocks when thread terminates.  <a href="#a1e6d355ea0d9b0b023f3fc2aa91a25e8">More...</a><br/></td></tr>
<tr class="separator:a1e6d355ea0d9b0b023f3fc2aa91a25e8 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69ae124edf7e7989db0f911b847cacae inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a69ae124edf7e7989db0f911b847cacae">isThread</a> (void) const </td></tr>
<tr class="memdesc:a69ae124edf7e7989db0f911b847cacae inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests to see if the current execution context is the same as the specified thread object.  <a href="#a69ae124edf7e7989db0f911b847cacae">More...</a><br/></td></tr>
<tr class="separator:a69ae124edf7e7989db0f911b847cacae inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3947a150139cf226626f47166ff92286 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top"><a class="el" href="thread_8h.html#a3f0d0226a694bf1e508e1b1c758e6ae6">cctid_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a3947a150139cf226626f47166ff92286">getId</a> (void) const </td></tr>
<tr class="memdesc:a3947a150139cf226626f47166ff92286 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get system thread numeric identifier.  <a href="#a3947a150139cf226626f47166ff92286">More...</a><br/></td></tr>
<tr class="separator:a3947a150139cf226626f47166ff92286 inherit pub_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b578a4a82d61060d1b17109caddc1a5 inherit pub_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a6b578a4a82d61060d1b17109caddc1a5">getName</a> (void) const </td></tr>
<tr class="memdesc:a6b578a4a82d61060d1b17109caddc1a5 inherit pub_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name string for this thread, to use in debug messages.  <a href="#a6b578a4a82d61060d1b17109caddc1a5">More...</a><br/></td></tr>
<tr class="separator:a6b578a4a82d61060d1b17109caddc1a5 inherit pub_methods_classost_1_1_thread"><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:a39e53b68c6108d78ac3afea01d7cba05"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_service.html#a39e53b68c6108d78ac3afea01d7cba05">onUpdate</a> (unsigned char flag)</td></tr>
<tr class="memdesc:a39e53b68c6108d78ac3afea01d7cba05"><td class="mdescLeft">&#160;</td><td class="mdescRight">A virtual handler for processing user defined update requests (1-254) which have been posted through Update.  <a href="#a39e53b68c6108d78ac3afea01d7cba05">More...</a><br/></td></tr>
<tr class="separator:a39e53b68c6108d78ac3afea01d7cba05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a857ecbd9c831d019400b5d9e9a02a6ac"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_service.html#a857ecbd9c831d019400b5d9e9a02a6ac">onEvent</a> (void)</td></tr>
<tr class="memdesc:a857ecbd9c831d019400b5d9e9a02a6ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">A virtual handler for event loop calls.  <a href="#a857ecbd9c831d019400b5d9e9a02a6ac">More...</a><br/></td></tr>
<tr class="separator:a857ecbd9c831d019400b5d9e9a02a6ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb873fd33e21aeebf78cb291a170fe27"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_service.html#aeb873fd33e21aeebf78cb291a170fe27">onCallback</a> (<a class="el" href="classost_1_1_serial_port.html">SerialPort</a> *port)</td></tr>
<tr class="memdesc:aeb873fd33e21aeebf78cb291a170fe27"><td class="mdescLeft">&#160;</td><td class="mdescRight">A virtual handler for adding support for additional callback events into <a class="el" href="classost_1_1_serial_port.html" title="The serial port is an internal class which is attached to and then serviced by a specified SerialServ...">SerialPort</a>.  <a href="#aeb873fd33e21aeebf78cb291a170fe27">More...</a><br/></td></tr>
<tr class="separator:aeb873fd33e21aeebf78cb291a170fe27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classost_1_1_thread"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classost_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classost_1_1_thread.html">ost::Thread</a></td></tr>
<tr class="memitem:ab6f72653183c4db0dfd6b254ddbf072e inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ab6f72653183c4db0dfd6b254ddbf072e">setName</a> (const char *text)</td></tr>
<tr class="memdesc:ab6f72653183c4db0dfd6b254ddbf072e inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the name of the current thread.  <a href="#ab6f72653183c4db0dfd6b254ddbf072e">More...</a><br/></td></tr>
<tr class="separator:ab6f72653183c4db0dfd6b254ddbf072e inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fb521eb3d23c51925472a3fe0abf327 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a6fb521eb3d23c51925472a3fe0abf327">final</a> (void)</td></tr>
<tr class="memdesc:a6fb521eb3d23c51925472a3fe0abf327 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">A thread that is self terminating, either by invoking <a class="el" href="classost_1_1_thread.html#acd315d7c877b346970680d739da3e994" title="Used to properly exit from a Thread derived run() or initial() method. ">exit()</a> or leaving it's <a class="el" href="classost_1_1_thread.html#add7d339d94b8a1ed2b2b0324a95b7e74" title="All threads execute by deriving the Run method of Thread. ">run()</a>, will have this method called.  <a href="#a6fb521eb3d23c51925472a3fe0abf327">More...</a><br/></td></tr>
<tr class="separator:a6fb521eb3d23c51925472a3fe0abf327 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a300c229e76725eeddc69867f7ecea91f inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a300c229e76725eeddc69867f7ecea91f">initial</a> (void)</td></tr>
<tr class="memdesc:a300c229e76725eeddc69867f7ecea91f inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">The initial method is called by a newly created thread when it starts execution.  <a href="#a300c229e76725eeddc69867f7ecea91f">More...</a><br/></td></tr>
<tr class="separator:a300c229e76725eeddc69867f7ecea91f inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab73c94e3ca46cb24f4246e71fff73026 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ab73c94e3ca46cb24f4246e71fff73026">getExtended</a> (void)</td></tr>
<tr class="memdesc:ab73c94e3ca46cb24f4246e71fff73026 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Since <a class="el" href="classost_1_1_thread.html#aac5bc230c3bad5c837baa9e6d01f4c24" title="Gets the pointer to the Thread class which created the current thread object. ">getParent()</a> and <a class="el" href="namespaceost.html#a99c7f7d02b00922b0f5ee62fc3bb75fd">getThread()</a> only refer to an object of the <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> "base" type, this virtual method can be replaced in a derived class with something that returns data specific to the derived class that can still be accessed through the pointer returned by <a class="el" href="classost_1_1_thread.html#aac5bc230c3bad5c837baa9e6d01f4c24" title="Gets the pointer to the Thread class which created the current thread object. ">getParent()</a> and <a class="el" href="namespaceost.html#a99c7f7d02b00922b0f5ee62fc3bb75fd">getThread()</a>.  <a href="#ab73c94e3ca46cb24f4246e71fff73026">More...</a><br/></td></tr>
<tr class="separator:ab73c94e3ca46cb24f4246e71fff73026 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a390827ad98d3402dd84ee9f128bcd564 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a390827ad98d3402dd84ee9f128bcd564">notify</a> (<a class="el" href="classost_1_1_thread.html">Thread</a> *)</td></tr>
<tr class="memdesc:a390827ad98d3402dd84ee9f128bcd564 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">When a thread terminates, it now sends a notification message to the parent thread which created it.  <a href="#a390827ad98d3402dd84ee9f128bcd564">More...</a><br/></td></tr>
<tr class="separator:a390827ad98d3402dd84ee9f128bcd564 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd315d7c877b346970680d739da3e994 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#acd315d7c877b346970680d739da3e994">exit</a> (void)</td></tr>
<tr class="memdesc:acd315d7c877b346970680d739da3e994 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to properly exit from a <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> derived <a class="el" href="classost_1_1_thread.html#add7d339d94b8a1ed2b2b0324a95b7e74" title="All threads execute by deriving the Run method of Thread. ">run()</a> or <a class="el" href="classost_1_1_thread.html#a300c229e76725eeddc69867f7ecea91f" title="The initial method is called by a newly created thread when it starts execution. ">initial()</a> method.  <a href="#acd315d7c877b346970680d739da3e994">More...</a><br/></td></tr>
<tr class="separator:acd315d7c877b346970680d739da3e994 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cda4748073c4d55e2d0504e7c9b09cc inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a1cda4748073c4d55e2d0504e7c9b09cc">sync</a> (void)</td></tr>
<tr class="memdesc:a1cda4748073c4d55e2d0504e7c9b09cc inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to wait for a join or cancel, in place of explicit exit.  <a href="#a1cda4748073c4d55e2d0504e7c9b09cc">More...</a><br/></td></tr>
<tr class="separator:a1cda4748073c4d55e2d0504e7c9b09cc inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8afe7a3330b69dff685415aae14657c inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#af8afe7a3330b69dff685415aae14657c">testCancel</a> (void)</td></tr>
<tr class="memdesc:af8afe7a3330b69dff685415aae14657c inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">test a cancellation point for deferred thread cancellation.  <a href="#af8afe7a3330b69dff685415aae14657c">More...</a><br/></td></tr>
<tr class="separator:af8afe7a3330b69dff685415aae14657c inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bff373a83b90f6f44d1519ef893e35b inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a4bff373a83b90f6f44d1519ef893e35b">setCancel</a> (<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a> mode)</td></tr>
<tr class="memdesc:a4bff373a83b90f6f44d1519ef893e35b inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets thread cancellation mode.  <a href="#a4bff373a83b90f6f44d1519ef893e35b">More...</a><br/></td></tr>
<tr class="separator:a4bff373a83b90f6f44d1519ef893e35b inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad226f8bca85bf68ce71d90baca6434d6 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ad226f8bca85bf68ce71d90baca6434d6">setSuspend</a> (<a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087">Suspend</a> mode)</td></tr>
<tr class="memdesc:ad226f8bca85bf68ce71d90baca6434d6 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the thread's ability to be suspended from execution.  <a href="#ad226f8bca85bf68ce71d90baca6434d6">More...</a><br/></td></tr>
<tr class="separator:ad226f8bca85bf68ce71d90baca6434d6 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae71c94c24733ed82f9b74c034744d002 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ae71c94c24733ed82f9b74c034744d002">terminate</a> (void)</td></tr>
<tr class="memdesc:ae71c94c24733ed82f9b74c034744d002 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used by another thread to terminate the current thread.  <a href="#ae71c94c24733ed82f9b74c034744d002">More...</a><br/></td></tr>
<tr class="separator:ae71c94c24733ed82f9b74c034744d002 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e574c2c5f388277527c9257524dd654 inherit pro_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a5e574c2c5f388277527c9257524dd654">clrParent</a> (void)</td></tr>
<tr class="memdesc:a5e574c2c5f388277527c9257524dd654 inherit pro_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">clear parent thread relationship.  <a href="#a5e574c2c5f388277527c9257524dd654">More...</a><br/></td></tr>
<tr class="separator:a5e574c2c5f388277527c9257524dd654 inherit pro_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a84d7b24f575569e86cb63b1f8c62e84a"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_service.html#a84d7b24f575569e86cb63b1f8c62e84a">SerialPort</a></td></tr>
<tr class="separator:a84d7b24f575569e86cb63b1f8c62e84a"><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_types_classost_1_1_thread"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classost_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classost_1_1_thread.html">ost::Thread</a></td></tr>
<tr class="memitem:ab9538e839c06104af2974b77d2a5674d inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">Throw</a> { <a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674da1b058025329425c90f383d124ee605e5">throwNothing</a>, 
<a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674daea5957cd08cfecf17f366352bcf9ad80">throwObject</a>, 
<a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674da8e51a6870e65238764becffff92d7f54">throwException</a>
 }</td></tr>
<tr class="memdesc:ab9538e839c06104af2974b77d2a5674d"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to raise error.  <a href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">More...</a><br/></td></tr>
<tr class="separator:ab9538e839c06104af2974b77d2a5674d inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24f333b09607b7c48a97e05865ada69b inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a> { <br/>
&#160;&#160;<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69babbf14157c17311ec31f0967032ecb357">cancelInitial</a> =0, 
<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69bab02b8cd8d899a693e8cbb86082f4ef16">cancelDeferred</a> =1, 
<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69ba57f820ea4f7a326c27cc504a213e167d">cancelImmediate</a>, 
<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69bae07cc9f6d3d7333c8cce543a8bb58215">cancelDisabled</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69baa194b63cafc5387684afe7943fe3b5f0">cancelManual</a>, 
<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69badf753e6d700f194c1b8f695a9bd67554">cancelDefault</a> =cancelDeferred
<br/>
 }</td></tr>
<tr class="memdesc:a24f333b09607b7c48a97e05865ada69b"><td class="mdescLeft">&#160;</td><td class="mdescRight">How work cancellation.  <a href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">More...</a><br/></td></tr>
<tr class="separator:a24f333b09607b7c48a97e05865ada69b inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff7bd364ce645eac95affbf74f1a7087 inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087">Suspend</a> { <a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087a27f2f61f4bc18b64e9c25f73bb008a38">suspendEnable</a>, 
<a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087a0e9f14f0e69d8c12c36a46d108a5074b">suspendDisable</a>
 }</td></tr>
<tr class="memdesc:aff7bd364ce645eac95affbf74f1a7087"><td class="mdescLeft">&#160;</td><td class="mdescRight">How work suspend.  <a href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087">More...</a><br/></td></tr>
<tr class="separator:aff7bd364ce645eac95affbf74f1a7087 inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a511f08b9f1aef08b4f02e2ad225960ab inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">ost::Thread::Throw</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a511f08b9f1aef08b4f02e2ad225960ab">Throw</a></td></tr>
<tr class="memdesc:a511f08b9f1aef08b4f02e2ad225960ab inherit pub_types_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to raise error.  <a href="#a511f08b9f1aef08b4f02e2ad225960ab">More...</a><br/></td></tr>
<tr class="separator:a511f08b9f1aef08b4f02e2ad225960ab inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d876c60edcf92d3d96121aacea441d0 inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">ost::Thread::Cancel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a0d876c60edcf92d3d96121aacea441d0">Cancel</a></td></tr>
<tr class="memdesc:a0d876c60edcf92d3d96121aacea441d0 inherit pub_types_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">How work cancellation.  <a href="#a0d876c60edcf92d3d96121aacea441d0">More...</a><br/></td></tr>
<tr class="separator:a0d876c60edcf92d3d96121aacea441d0 inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81069ba4a0bf16a0aa9f076aa725f0c1 inherit pub_types_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_thread.html#aff7bd364ce645eac95affbf74f1a7087">ost::Thread::Suspend</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a81069ba4a0bf16a0aa9f076aa725f0c1">Suspend</a></td></tr>
<tr class="memdesc:a81069ba4a0bf16a0aa9f076aa725f0c1 inherit pub_types_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">How work suspend.  <a href="#a81069ba4a0bf16a0aa9f076aa725f0c1">More...</a><br/></td></tr>
<tr class="separator:a81069ba4a0bf16a0aa9f076aa725f0c1 inherit pub_types_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classost_1_1_thread"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classost_1_1_thread')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classost_1_1_thread.html">ost::Thread</a></td></tr>
<tr class="memitem:aaad41a9f7962bdc3058a429df48246fd inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classost_1_1_thread.html">Thread</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#aaad41a9f7962bdc3058a429df48246fd">get</a> (void)</td></tr>
<tr class="separator:aaad41a9f7962bdc3058a429df48246fd inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accd29b724539d63a8495d954f9f56c72 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#accd29b724539d63a8495d954f9f56c72">setStack</a> (size_t size=0)</td></tr>
<tr class="memdesc:accd29b724539d63a8495d954f9f56c72 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set base stack limit before manual stack sizes have effect.  <a href="#accd29b724539d63a8495d954f9f56c72">More...</a><br/></td></tr>
<tr class="separator:accd29b724539d63a8495d954f9f56c72 inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a663d960e8599194f3b25169915c22fb6 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a663d960e8599194f3b25169915c22fb6">sleep</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> msec)</td></tr>
<tr class="memdesc:a663d960e8599194f3b25169915c22fb6 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">A thread-safe sleep call.  <a href="#a663d960e8599194f3b25169915c22fb6">More...</a><br/></td></tr>
<tr class="separator:a663d960e8599194f3b25169915c22fb6 inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f4a4f9872ed8f80a591e6b020ecf5d7 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a3f4a4f9872ed8f80a591e6b020ecf5d7">yield</a> (void)</td></tr>
<tr class="memdesc:a3f4a4f9872ed8f80a591e6b020ecf5d7 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Yields the current thread's CPU time slice to allow another thread to begin immediate execution.  <a href="#a3f4a4f9872ed8f80a591e6b020ecf5d7">More...</a><br/></td></tr>
<tr class="separator:a3f4a4f9872ed8f80a591e6b020ecf5d7 inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0272b6a8de586ee5ee2464bbdb030392 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">Throw</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a0272b6a8de586ee5ee2464bbdb030392">getException</a> (void)</td></tr>
<tr class="memdesc:a0272b6a8de586ee5ee2464bbdb030392 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get exception mode of the current thread.  <a href="#a0272b6a8de586ee5ee2464bbdb030392">More...</a><br/></td></tr>
<tr class="separator:a0272b6a8de586ee5ee2464bbdb030392 inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9f30b27ca1322ccc3325ba9ca5157fa inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#ae9f30b27ca1322ccc3325ba9ca5157fa">setException</a> (<a class="el" href="classost_1_1_thread.html#ab9538e839c06104af2974b77d2a5674d">Throw</a> mode)</td></tr>
<tr class="memdesc:ae9f30b27ca1322ccc3325ba9ca5157fa inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set exception mode of the current thread.  <a href="#ae9f30b27ca1322ccc3325ba9ca5157fa">More...</a><br/></td></tr>
<tr class="separator:ae9f30b27ca1322ccc3325ba9ca5157fa inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a599880181a0aeaef8a0ddedeeceddb9a inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#a599880181a0aeaef8a0ddedeeceddb9a">enterCancel</a> (void)</td></tr>
<tr class="memdesc:a599880181a0aeaef8a0ddedeeceddb9a inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to help build wrapper functions in libraries around system calls that should behave as cancellation points but don't.  <a href="#a599880181a0aeaef8a0ddedeeceddb9a">More...</a><br/></td></tr>
<tr class="separator:a599880181a0aeaef8a0ddedeeceddb9a inherit pub_static_methods_classost_1_1_thread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcad222419e4106ac21ce12605eb4fe7 inherit pub_static_methods_classost_1_1_thread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_thread.html#abcad222419e4106ac21ce12605eb4fe7">exitCancel</a> (<a class="el" href="classost_1_1_thread.html#a24f333b09607b7c48a97e05865ada69b">Cancel</a> cancel)</td></tr>
<tr class="memdesc:abcad222419e4106ac21ce12605eb4fe7 inherit pub_static_methods_classost_1_1_thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to restore a cancel block.  <a href="#abcad222419e4106ac21ce12605eb4fe7">More...</a><br/></td></tr>
<tr class="separator:abcad222419e4106ac21ce12605eb4fe7 inherit pub_static_methods_classost_1_1_thread"><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>The <a class="el" href="classost_1_1_serial_service.html" title="The SerialService is a thead service object that is meant to service attached serial ports...">SerialService</a> is a thead service object that is meant to service attached serial ports. </p>
<p>Multiple pool objects may be created and multiple serial ports may be attached to the same thread of of execution. This allows one to balance threads and the serial ports they service.</p>
<p>The TTYPort and TTYService classes are used to form thread-pool serviced serial I/O protocol sets. These can be used when one has a large number of serial devices to manage, and a single (or limited number of) thread(s) can then be used to service the tty port objects present. Each tty port supports a timer control and several virtual methods that the service thread can call when events occur. This model provides for "callback" event management, whereby the service thread performs a "callback" into the port object when events occur. Specific events supported include the expiration of a TTYPort timer, pending input data waiting to be read, and "sighup" connection breaks.</p>
<dl class="section author"><dt>Author</dt><dd>David Sugar <a href="#" onclick="location.href='mai'+'lto:'+'dyf'+'et'+'@os'+'te'+'l.c'+'om'; return false;">dyfet<span style="display: none;">.nosp@m.</span>@ost<span style="display: none;">.nosp@m.</span>el.co<span style="display: none;">.nosp@m.</span>m</a> <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object of a class derived ...">Thread</a> pool service for serial ports. </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a976999ced6e562ef85e13482c4a62667"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::SerialService::SerialService </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>pri</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>stack</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>id</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a service thread for attaching serial ports. </p>
<p>The thread begins execution with the first attached port.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pri</td><td>of this thread to run under. </td></tr>
    <tr><td class="paramname">stack</td><td>stack size. </td></tr>
    <tr><td class="paramname">id</td><td>stack ID. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a51858284192f8089ab3cdda7eb431a0c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual ost::SerialService::~SerialService </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Terminate the service thread and update attached objects. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a9b613f73f7222745076f9f78aff7c78c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ost::SerialService::getCount </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get current reference count. </p>
<p>This can be used when selecting the lead used service handler from a pool.</p>
<dl class="section return"><dt>Returns</dt><dd>count of active ports. </dd></dl>

</div>
</div>
<a class="anchor" id="aeb873fd33e21aeebf78cb291a170fe27"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::SerialService::onCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_serial_port.html">SerialPort</a> *&#160;</td>
          <td class="paramname"><em>port</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A virtual handler for adding support for additional callback events into <a class="el" href="classost_1_1_serial_port.html" title="The serial port is an internal class which is attached to and then serviced by a specified SerialServ...">SerialPort</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">port</td><td>serial port currently being evaluated. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a857ecbd9c831d019400b5d9e9a02a6ac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::SerialService::onEvent </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A virtual handler for event loop calls. </p>
<p>This can be used to extend event loop processing. </p>

</div>
</div>
<a class="anchor" id="a39e53b68c6108d78ac3afea01d7cba05"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::SerialService::onUpdate </td>
          <td>(</td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>flag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A virtual handler for processing user defined update requests (1-254) which have been posted through Update. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">flag</td><td>of update request. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a66efc4ea33b87c147ab0a207eb35a208"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::SerialService::update </td>
          <td>(</td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>flag</em> = <code>0xff</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Notify service thread that a port has been added or removed, or a timer changed, so that a new schedule can be computed for expiring attached ports. </p>
<p>This can also be used to pass requests to the OnUpdate() event handler.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">flag</td><td>event for OnUpdate, termination, or reschedule. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="a84d7b24f575569e86cb63b1f8c62e84a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classost_1_1_serial_port.html">SerialPort</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="serial_8h_source.html">serial.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 17 2013 23:24:57 for GNU CommonC++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>