Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > eeacaa4eb55fa544d622989e42fc27b1 > files > 121

libyate-devel-2.0.0-2mdv2009.1.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Yate: File Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;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>
    </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="namespaceTelEngine.html">TelEngine</a>::<a class="el" href="classTelEngine_1_1File.html">File</a>
  </div>
</div>
<div class="contents">
<h1>File Class Reference</h1><!-- doxytag: class="TelEngine::File" --><!-- doxytag: inherits="TelEngine::Stream" -->A stream file class.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="yateclass_8h-source.html">yateclass.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for File:</div>
<div class="dynsection">

<p><center><img src="classTelEngine_1_1File.png" usemap="#File_map" border="0" alt=""></center>
<map name="File_map">
<area href="classTelEngine_1_1Stream.html" alt="Stream" shape="rect" coords="0,0,51,24">
</map>
</div>

<p>
<a href="classTelEngine_1_1File-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#a2399b233765f85aead662a2f1e67c4b">File</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#67a2d120076a92a9108fd3e1b9589fd7">File</a> (HANDLE handle)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#5fa8852e1112fd17b8c6b9992a5fc374">~File</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#1ffc9e4e66a1ac42d4091ceb1134e058">openPath</a> (const char *name, bool canWrite=false, bool canRead=true, bool create=false, bool append=false, bool binary=false)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#191ac6b231961b9586ed2eadae024d6a">terminate</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#73186864fb11c1467cf8967152fcd454">attach</a> (HANDLE handle)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#0b033d1dcfe6a7a7ee126a44331b7c47">detach</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#67fd8a5e300fc8d3eb9235f83ae8b4dc">handle</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#2614cbc71a9f1bae1f70930d007ec6c1">canRetry</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#9fa9d50f99098045df2c2ef3b1af8047">valid</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#cf353bce1608e9d3734b4c12d1ae7b87">setBlocking</a> (bool block=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#e6d45cd13e1fce874d9bd7dcfcd591fd">length</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#ab8efa96798936c2ed4a76470877ec98">writeData</a> (const void *buffer, int length)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#4b0012f52b3982d99359a9178e4862b8">readData</a> (void *buffer, int length)</td></tr>

<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#da6e1c0efd3a4f1d61d850a7213420d5">invalidHandle</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#70b46b00d66f87dca24f1f445b6277e8">remove</a> (const char *name)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#ec98ee799b3407bc0cc053dad220c198">createPipe</a> (<a class="el" href="classTelEngine_1_1File.html">File</a> &amp;reader, <a class="el" href="classTelEngine_1_1File.html">File</a> &amp;writer)</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1File.html#1a1260c84598b210ae5423cf35150dbd">copyError</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6c6033977f82eaf97a543976f73602c"></a><!-- doxytag: member="TelEngine::File::m_handle" ref="a6c6033977f82eaf97a543976f73602c" args="" -->
HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_handle</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A stream file class. 
<p>
Class to encapsulate a system dependent file in a system independent abstraction <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a2399b233765f85aead662a2f1e67c4b"></a><!-- doxytag: member="TelEngine::File::File" ref="a2399b233765f85aead662a2f1e67c4b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classTelEngine_1_1File.html">File</a>           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Default constructor, creates a closed file 
</div>
</div><p>
<a class="anchor" name="67a2d120076a92a9108fd3e1b9589fd7"></a><!-- doxytag: member="TelEngine::File::File" ref="67a2d120076a92a9108fd3e1b9589fd7" args="(HANDLE handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classTelEngine_1_1File.html">File</a>           </td>
          <td>(</td>
          <td class="paramtype">HANDLE&nbsp;</td>
          <td class="paramname"> <em>handle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor from an existing handle <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>Operating system handle to an open file </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="5fa8852e1112fd17b8c6b9992a5fc374"></a><!-- doxytag: member="TelEngine::File::~File" ref="5fa8852e1112fd17b8c6b9992a5fc374" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual ~<a class="el" href="classTelEngine_1_1File.html">File</a>           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor, closes the file 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="73186864fb11c1467cf8967152fcd454"></a><!-- doxytag: member="TelEngine::File::attach" ref="73186864fb11c1467cf8967152fcd454" args="(HANDLE handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void attach           </td>
          <td>(</td>
          <td class="paramtype">HANDLE&nbsp;</td>
          <td class="paramname"> <em>handle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attach an existing handle to the file, closes any existing first <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>Operating system handle to an open file </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="2614cbc71a9f1bae1f70930d007ec6c1"></a><!-- doxytag: member="TelEngine::File::canRetry" ref="2614cbc71a9f1bae1f70930d007ec6c1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool canRetry           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the last error code indicates a retryable condition <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if error was temporary and operation should be retried </dd></dl>

<p>Reimplemented from <a class="el" href="classTelEngine_1_1Stream.html#2614cbc71a9f1bae1f70930d007ec6c1">Stream</a>.</p>

</div>
</div><p>
<a class="anchor" name="1a1260c84598b210ae5423cf35150dbd"></a><!-- doxytag: member="TelEngine::File::copyError" ref="1a1260c84598b210ae5423cf35150dbd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void copyError           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy the last error code from the operating system 
</div>
</div><p>
<a class="anchor" name="ec98ee799b3407bc0cc053dad220c198"></a><!-- doxytag: member="TelEngine::File::createPipe" ref="ec98ee799b3407bc0cc053dad220c198" args="(File &amp;reader, File &amp;writer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool createPipe           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1File.html">File</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>reader</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1File.html">File</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>writer</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a pair of unidirectionally pipe connected streams <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>reader</em>&nbsp;</td><td>Reference to a <a class="el" href="classTelEngine_1_1File.html" title="A stream file class.">File</a> that becomes the reading side of the pipe </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>writer</em>&nbsp;</td><td>Reference to a <a class="el" href="classTelEngine_1_1File.html" title="A stream file class.">File</a> that becomes the writing side of the pipe </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True is the pipe was created successfully </dd></dl>

</div>
</div><p>
<a class="anchor" name="0b033d1dcfe6a7a7ee126a44331b7c47"></a><!-- doxytag: member="TelEngine::File::detach" ref="0b033d1dcfe6a7a7ee126a44331b7c47" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">HANDLE detach           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Detaches the object from the file handle <dl class="return" compact><dt><b>Returns:</b></dt><dd>The handle previously owned by this object </dd></dl>

</div>
</div><p>
<a class="anchor" name="67fd8a5e300fc8d3eb9235f83ae8b4dc"></a><!-- doxytag: member="TelEngine::File::handle" ref="67fd8a5e300fc8d3eb9235f83ae8b4dc" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">HANDLE handle           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the operating system handle to the file <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classTelEngine_1_1File.html" title="A stream file class.">File</a> handle </dd></dl>

</div>
</div><p>
<a class="anchor" name="da6e1c0efd3a4f1d61d850a7213420d5"></a><!-- doxytag: member="TelEngine::File::invalidHandle" ref="da6e1c0efd3a4f1d61d850a7213420d5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static HANDLE invalidHandle           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the operating system specific handle value for an invalid file <dl class="return" compact><dt><b>Returns:</b></dt><dd>Handle value for an invalid file </dd></dl>

</div>
</div><p>
<a class="anchor" name="e6d45cd13e1fce874d9bd7dcfcd591fd"></a><!-- doxytag: member="TelEngine::File::length" ref="e6d45cd13e1fce874d9bd7dcfcd591fd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual unsigned int length           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find the length of the file if it has one <dl class="return" compact><dt><b>Returns:</b></dt><dd>Length of the file or zero if length is not defined </dd></dl>

</div>
</div><p>
<a class="anchor" name="1ffc9e4e66a1ac42d4091ceb1134e058"></a><!-- doxytag: member="TelEngine::File::openPath" ref="1ffc9e4e66a1ac42d4091ceb1134e058" args="(const char *name, bool canWrite=false, bool canRead=true, bool create=false, bool append=false, bool binary=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool openPath           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>canWrite</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>canRead</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>create</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>append</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>binary</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Opens a file from the filesystem pathname <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name of the file according to the operating system's conventions </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>canWrite</em>&nbsp;</td><td>Open the file for writing </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>canRead</em>&nbsp;</td><td>Open the file for reading </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>create</em>&nbsp;</td><td>Create the file if it doesn't exist </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>append</em>&nbsp;</td><td>Set the write pointer at the end of an existing file </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>binary</em>&nbsp;</td><td>Open the file in binary mode if applicable </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the file was successfully opened </dd></dl>

</div>
</div><p>
<a class="anchor" name="4b0012f52b3982d99359a9178e4862b8"></a><!-- doxytag: member="TelEngine::File::readData" ref="4b0012f52b3982d99359a9178e4862b8" args="(void *buffer, int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int readData           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read data from an open file <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>Buffer for data transfer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>Length of the buffer </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of bytes transferred, negative if an error occurred </dd></dl>

<p>Implements <a class="el" href="classTelEngine_1_1Stream.html#0c1156011c87f6b700d076b1baad8dc6">Stream</a>.</p>

</div>
</div><p>
<a class="anchor" name="70b46b00d66f87dca24f1f445b6277e8"></a><!-- doxytag: member="TelEngine::File::remove" ref="70b46b00d66f87dca24f1f445b6277e8" args="(const char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool remove           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Deletes a file entry from the filesystem <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Absolute path and name of the file to delete </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the file was successfully deleted </dd></dl>

</div>
</div><p>
<a class="anchor" name="cf353bce1608e9d3734b4c12d1ae7b87"></a><!-- doxytag: member="TelEngine::File::setBlocking" ref="cf353bce1608e9d3734b4c12d1ae7b87" args="(bool block=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool setBlocking           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>block</em> = <code>true</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the blocking or non-blocking operation mode of the file <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>block</em>&nbsp;</td><td>True if I/O operations should block, false for non-blocking </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if operation was successfull, false if an error occured </dd></dl>

<p>Reimplemented from <a class="el" href="classTelEngine_1_1Stream.html#cf353bce1608e9d3734b4c12d1ae7b87">Stream</a>.</p>

</div>
</div><p>
<a class="anchor" name="191ac6b231961b9586ed2eadae024d6a"></a><!-- doxytag: member="TelEngine::File::terminate" ref="191ac6b231961b9586ed2eadae024d6a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool terminate           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Closes the file handle <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the file was (already) closed, false if an error occured </dd></dl>

<p>Implements <a class="el" href="classTelEngine_1_1Stream.html#75ac47e7166b2005e2f8c306b5bb05ea">Stream</a>.</p>

</div>
</div><p>
<a class="anchor" name="9fa9d50f99098045df2c2ef3b1af8047"></a><!-- doxytag: member="TelEngine::File::valid" ref="9fa9d50f99098045df2c2ef3b1af8047" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool valid           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if this file is valid <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the file is valid, false if it's invalid or closed </dd></dl>

<p>Implements <a class="el" href="classTelEngine_1_1Stream.html#d9248394f673632ebda5b9c455e464f2">Stream</a>.</p>

</div>
</div><p>
<a class="anchor" name="ab8efa96798936c2ed4a76470877ec98"></a><!-- doxytag: member="TelEngine::File::writeData" ref="ab8efa96798936c2ed4a76470877ec98" args="(const void *buffer, int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int writeData           </td>
          <td>(</td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write data to an open file <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>Buffer for data transfer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>Length of the buffer </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of bytes transferred, negative if an error occurred </dd></dl>

<p>Implements <a class="el" href="classTelEngine_1_1Stream.html#88415446fd03ca1954f4561f29c82ff1">Stream</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="yateclass_8h-source.html">yateclass.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Dec 7 21:36:11 2008 for Yate by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address>
</body>
</html>