Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 3ebaf504d69f581a8834e53e04e712a5 > files > 102

gearbox-devel-9.11-6.fc14.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>GearBox Project</title>

<link rel="icon" href="gbx_icon_cardbox_sky.png" type="image/png">
<link rel="shortcut icon" href="gbx_icon_cardbox_sky.png" type="image/png">

<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<!-- Google Analytics -->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3583782-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
<!-- Returning you to your regular programming -->
</head><body>

<!-- Header -->

<table border="0" cellspacing="0" cellpadding="0">

<tr><!-- create row -->

<!-- spacer cell -->
<!-- #CC CC CC -->
<td rowspan="1" colspan="1" bgcolor="#EEEEEE">&nbsp;&nbsp;&nbsp;&nbsp;</td>

<!-- menu cell -->
<td width="170" rowspan="1" colspan="1" align="left" valign="top" bgcolor="#EEEEEE">


<p>&nbsp;</p>
<p align="center"><a href="index.html"><img src="gbx_logo_cardbox_sky_150x150.png"></a></p><br>

<strong>INTRODUCTION</strong><br>
<strong><a href="gbx_doc_overview.html" style="text-decoration:none">Overview</a></strong><br>
<strong><a href="gbx_doc_getting.html" style="text-decoration:none">Download and Install</a></strong><br>
<!-- <strong><a href="gbx_doc_quickstart.html" style="text-decoration:none">Quick Start</a></strong><br> -->
<strong><a href="gbx_doc_documentation.html" style="text-decoration:none">Documentation</a></strong><br>
<strong><a href="gbx_doc_publications.html" style="text-decoration:none">Publications</a></strong><br>
<br>

<strong>REPOSITORY</strong><br>
<strong><a href="group__gbx__libs.html" style="text-decoration:none">Libraries</a></strong><br>
<!-- <strong><a href="group__gbx__utils.html" style="text-decoration:none">Utilities</a></strong><br> -->
<br>

<strong>DEVELOPER</strong><br>

<!--<strong><a href="gbx_doc_tutorials.html" style="text-decoration:none">Tutorials</a></strong><br>
<strong><a href="group__gbx__examples.html" style="text-decoration:none">Examples</a></strong><br>-->
<strong><a href="gbx_doc_devguide.html" style="text-decoration:none">Dev Guide</a></strong><br>
<!-- 
<strong><a href="gbx_doc_faq.html" style="text-decoration:none">FAQ</a></strong><br>
-->
<strong><a href="http://cdash.acfr.usyd.edu.au/index.php?project=Gearbox" style="text-decoration:none">Dashboard</a></strong><br>
<!--<strong><a href="http://wiki2.cas.edu.au/orca">Wiki</a></strong><br>
login/pass: orca/orca<br>-->
<br>

<strong>PEOPLE</strong><br>
<strong><a href="gbx_doc_contributors.html" style="text-decoration:none">Contributors</a></strong><br>
<strong><a href="gbx_doc_users.html" style="text-decoration:none">Users</a></strong><br>
<br>

<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=216468&amp;type=2" width="125" height="37" border="0" alt="SourceForge.net Logo" /></a><br>
<strong><a href="http://sourceforge.net/projects/gearbox">Project</a></strong><br>
<strong><a href="http://sourceforge.net/project/showfiles.php?group_id=216468">Download</a></strong><br>
<!--<strong><a href="http://sourceforge.net/tracker/?group_id=216468">Bugs/Feedback</a></strong><br>-->
<strong><a href="http://sourceforge.net/mail/?group_id=216468">Mailing lists</a></strong></p>
<p>&nbsp;</p>

</td><!-- /menu cell -->

<!-- one grey spacer cells -->
<td rowspan="1" colspan="1" bgcolor="#EEEEEE">&nbsp;&nbsp;&nbsp;&nbsp;</td>

<!-- one white spacer cells -->
<td rowspan="1" colspan="1">&nbsp;&nbsp;&nbsp;&nbsp;</td>

<!-- main content cell -->
<td rowspan="1" colspan="1" align="left" valign="top">


<!-- Generated by Doxygen 1.6.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</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="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceflexiport.html">flexiport</a>::<a class="el" href="classflexiport_1_1LogReaderPort.html">LogReaderPort</a>
  </div>
</div>
<div class="contents">
<h1>flexiport::LogReaderPort Class Reference</h1><!-- doxytag: class="flexiport::LogReaderPort" --><!-- doxytag: inherits="flexiport::Port" -->
<p>Simulated port using a log file.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="logreaderport_8h_source.html">logreaderport.h</a>&gt;</code></p>

<p>Inherits <a class="el" href="classflexiport_1_1Port.html">flexiport::Port</a>.</p>

<p><a href="classflexiport_1_1LogReaderPort-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac9e9312be703e02b9200951c83008051"></a><!-- doxytag: member="flexiport::LogReaderPort::Open" ref="ac9e9312be703e02b9200951c83008051" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#ac9e9312be703e02b9200951c83008051">Open</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open the port. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add82ac2af0872325613b3d8d5c91e8c3"></a><!-- doxytag: member="flexiport::LogReaderPort::Close" ref="add82ac2af0872325613b3d8d5c91e8c3" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#add82ac2af0872325613b3d8d5c91e8c3">Close</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the port. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a40dbab2df35f535153e4045d534ae576"></a><!-- doxytag: member="flexiport::LogReaderPort::Read" ref="a40dbab2df35f535153e4045d534ae576" args="(void *const buffer, size_t count)" -->
ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#a40dbab2df35f535153e4045d534ae576">Read</a> (void *const buffer, size_t count)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read from the port. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b16ac3c4a6b30c6921a65e550935eca"></a><!-- doxytag: member="flexiport::LogReaderPort::ReadFull" ref="a4b16ac3c4a6b30c6921a65e550935eca" args="(void *const buffer, size_t count)" -->
ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#a4b16ac3c4a6b30c6921a65e550935eca">ReadFull</a> (void *const buffer, size_t count)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read the requested quantity of data from the port. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aacc1da2259c22834189beb42ecc7bbc4"></a><!-- doxytag: member="flexiport::LogReaderPort::BytesAvailable" ref="aacc1da2259c22834189beb42ecc7bbc4" args="()" -->
ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#aacc1da2259c22834189beb42ecc7bbc4">BytesAvailable</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of bytes waiting to be read at the port. Returns immediatly. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6dbeaab9198d9bc425fb5fb677f83c25"></a><!-- doxytag: member="flexiport::LogReaderPort::BytesAvailableWait" ref="a6dbeaab9198d9bc425fb5fb677f83c25" args="()" -->
ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#a6dbeaab9198d9bc425fb5fb677f83c25">BytesAvailableWait</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of bytes waiting after blocking for the timeout. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac8a1af3fb3b04d81383f3f08127b5b68"></a><!-- doxytag: member="flexiport::LogReaderPort::Write" ref="ac8a1af3fb3b04d81383f3f08127b5b68" args="(const void *const buffer, size_t count)" -->
ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#ac8a1af3fb3b04d81383f3f08127b5b68">Write</a> (const void *const buffer, size_t count)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write data to the port. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae24a26ba57e267d8bfa00944cfc1940c"></a><!-- doxytag: member="flexiport::LogReaderPort::Flush" ref="ae24a26ba57e267d8bfa00944cfc1940c" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#ae24a26ba57e267d8bfa00944cfc1940c">Flush</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flush the port's input and output buffers, discarding all data. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a4a1a56eb1e15dfcd808b859ba20afb"></a><!-- doxytag: member="flexiport::LogReaderPort::Drain" ref="a1a4a1a56eb1e15dfcd808b859ba20afb" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#a1a4a1a56eb1e15dfcd808b859ba20afb">Drain</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Drain the port's input and output buffers. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8568844530605b68a53dd004968249c4"></a><!-- doxytag: member="flexiport::LogReaderPort::GetStatus" ref="a8568844530605b68a53dd004968249c4" args="() const " -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#a8568844530605b68a53dd004968249c4">GetStatus</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the status of the port (type, device, etc). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8a1d9f72e89a8e76ac00916d39f8997"></a><!-- doxytag: member="flexiport::LogReaderPort::SetTimeout" ref="ae8a1d9f72e89a8e76ac00916d39f8997" args="(Timeout timeout)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#ae8a1d9f72e89a8e76ac00916d39f8997">SetTimeout</a> (<a class="el" href="classflexiport_1_1Timeout.html">Timeout</a> timeout)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the timeout value in milliseconds. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f08bae093c4aed4f65062867911a81b"></a><!-- doxytag: member="flexiport::LogReaderPort::SetCanRead" ref="a7f08bae093c4aed4f65062867911a81b" args="(bool canRead)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#a7f08bae093c4aed4f65062867911a81b">SetCanRead</a> (bool canRead)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the read permissions of the port. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeee2cebbcdf2e1652e490c3eee407d76"></a><!-- doxytag: member="flexiport::LogReaderPort::SetCanWrite" ref="aeee2cebbcdf2e1652e490c3eee407d76" args="(bool canWrite)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#aeee2cebbcdf2e1652e490c3eee407d76">SetCanWrite</a> (bool canWrite)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the write permissions of the port. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae36a7b25c4c7c8aaa94791413692da58"></a><!-- doxytag: member="flexiport::LogReaderPort::IsOpen" ref="ae36a7b25c4c7c8aaa94791413692da58" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflexiport_1_1LogReaderPort.html#ae36a7b25c4c7c8aaa94791413692da58">IsOpen</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the port is open. <br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Simulated port using a log file. </p>
<p>Uses a log file created by the <a class="el" href="classflexiport_1_1LogWriterPort.html">LogWriterPort</a> port type to simulate the data transfer over a <a class="el" href="classflexiport_1_1Port.html">Port</a> object.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Log files greater than 2GB in size are not supported.</dd>
<dd>
The timer resolution under Windows is milliseconds, not microseconds. This may result in inaccurate replay when using a log file created on a POSIX-compatible operating system.</dd></dl>
<p>See the <a class="el" href="classflexiport_1_1Port.html">Port</a> class documentation for how to use the common API.</p>
<dl class="user"><dt><b>Options</b></dt><dd><ul>
<li>file &lt;string&gt;<ul>
<li>File name to read the log from. Two files will be created using this name and a suffix.</li>
<li>Default: port.log</li>
</ul>
</li>
<li>ignoretimes<ul>
<li>Ignore time stamps in the log files. This means that all readable data is available instantly. It also overrides strictness level 2, if set, essentially turning it into strictness level 1.</li>
<li>Default: false</li>
</ul>
</li>
<li>strictness &lt;integer&gt;<ul>
<li>Level of strictness to require:<ul>
<li>0: Writes are not checked against the log file.</li>
<li>1: Writes are checked against the log file, but timing is not checked.</li>
<li>2: Writes are checked against the log file. Timing is checked; if a write occurs earlier than did in the log file, it will cause an error. Jitter can be set to allow a margin of error.</li>
</ul>
</li>
<li>Default: 0</li>
</ul>
</li>
<li>jitter &lt;integer&gt;<ul>
<li>Margin of error (in milliseconds) to allow for write checking with strictness = 2.</li>
<li>Default: 100 </li>
</ul>
</li>
</ul>
</dd></dl>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="logreaderport_8h_source.html">logreaderport.h</a></li>
<li>logreaderport.cpp</li>
</ul>
</div>

            </td>
            <td colspan="1">&nbsp;</td>
         </tr>
        </table>
<!-- end of table -->

 <hr size="1"><address style="align: right;"><small>Generated for GearBox by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.5 </small></address>
</body>
</html>