Sophie

Sophie

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

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: Stream 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_1Stream.html">Stream</a>
  </div>
</div>
<div class="contents">
<h1>Stream Class Reference</h1><!-- doxytag: class="TelEngine::Stream" -->An abstract stream class capable of reading and writing.  
<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 Stream:</div>
<div class="dynsection">

<p><center><img src="classTelEngine_1_1Stream.png" usemap="#Stream_map" border="0" alt=""></center>
<map name="Stream_map">
<area href="classTelEngine_1_1File.html" alt="File" shape="rect" coords="0,56,51,80">
<area href="classTelEngine_1_1Socket.html" alt="Socket" shape="rect" coords="61,56,112,80">
</map>
</div>

<p>
<a href="classTelEngine_1_1Stream-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">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Stream.html#15237b41305f4268e1576c81766cd6d9">~Stream</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Stream.html#96340680cb1fac065cf67720ac8fe443">error</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_1Stream.html#75ac47e7166b2005e2f8c306b5bb05ea">terminate</a> ()=0</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_1Stream.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_1Stream.html#d9248394f673632ebda5b9c455e464f2">valid</a> () const =0</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_1Stream.html#cf353bce1608e9d3734b4c12d1ae7b87">setBlocking</a> (bool block=true)</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_1Stream.html#88415446fd03ca1954f4561f29c82ff1">writeData</a> (const void *buffer, int length)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Stream.html#a9d860f29cc32d8cd92da1d16da72e7e">writeData</a> (const char *str)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Stream.html#93a96a9e0e9872057dd0f1b259300459">writeData</a> (const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;str)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Stream.html#052ac850f0f5e4251dc507203fa22485">writeData</a> (const <a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a> &amp;buf)</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_1Stream.html#0c1156011c87f6b700d076b1baad8dc6">readData</a> (void *buffer, int length)=0</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 bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Stream.html#098166bf0c37a6a9338b2c95a7d22587">allocPipe</a> (<a class="el" href="classTelEngine_1_1Stream.html">Stream</a> *&amp;reader, <a class="el" href="classTelEngine_1_1Stream.html">Stream</a> *&amp;writer)</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_1Stream.html#cbf1b5e8bf3d653925aa0c33b4675688">allocPair</a> (<a class="el" href="classTelEngine_1_1Stream.html">Stream</a> *&amp;str1, <a class="el" href="classTelEngine_1_1Stream.html">Stream</a> *&amp;str2)</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_1Stream.html#75983d6ebb205de5a2ca9b6890aef5e6">supportsPipes</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_1Stream.html#a0d4d36acf32c492153b27621ef320e5">supportsPairs</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Protected 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_1Stream.html#7411b49ed5fda5181dd182d64984906e">Stream</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_1Stream.html#926ead67a784f455ddd56590f2928e76">clearError</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="6f3a79bbd969b9bd0e8acef1e9dad613"></a><!-- doxytag: member="TelEngine::Stream::m_error" ref="6f3a79bbd969b9bd0e8acef1e9dad613" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_error</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
An abstract stream class capable of reading and writing. 
<p>
Base class for encapsulating system dependent stream capable objects <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="15237b41305f4268e1576c81766cd6d9"></a><!-- doxytag: member="TelEngine::Stream::~Stream" ref="15237b41305f4268e1576c81766cd6d9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual ~<a class="el" href="classTelEngine_1_1Stream.html">Stream</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, terminates the stream 
</div>
</div><p>
<a class="anchor" name="7411b49ed5fda5181dd182d64984906e"></a><!-- doxytag: member="TelEngine::Stream::Stream" ref="7411b49ed5fda5181dd182d64984906e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classTelEngine_1_1Stream.html">Stream</a>           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Default constructor 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="cbf1b5e8bf3d653925aa0c33b4675688"></a><!-- doxytag: member="TelEngine::Stream::allocPair" ref="cbf1b5e8bf3d653925aa0c33b4675688" args="(Stream *&amp;str1, Stream *&amp;str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool allocPair           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1Stream.html">Stream</a> *&amp;&nbsp;</td>
          <td class="paramname"> <em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1Stream.html">Stream</a> *&amp;&nbsp;</td>
          <td class="paramname"> <em>str2</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>
Allocate a new pair of bidirectionally 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>str1</em>&nbsp;</td><td>Reference of a pointer receiving the newly allocated 1st end of the pair </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>str2</em>&nbsp;</td><td>Reference of a pointer receiving the newly allocated 2nd end of the pair </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True is the stream pair was created successfully </dd></dl>

</div>
</div><p>
<a class="anchor" name="098166bf0c37a6a9338b2c95a7d22587"></a><!-- doxytag: member="TelEngine::Stream::allocPipe" ref="098166bf0c37a6a9338b2c95a7d22587" args="(Stream *&amp;reader, Stream *&amp;writer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool allocPipe           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1Stream.html">Stream</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_1Stream.html">Stream</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>
Allocate a new 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 of a pointer receiving the newly allocated reading side of the pipe </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>writer</em>&nbsp;</td><td>Reference of a pointer receiving the newly allocated writing side of the pipe </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True is the stream pipe was created successfully </dd></dl>

</div>
</div><p>
<a class="anchor" name="2614cbc71a9f1bae1f70930d007ec6c1"></a><!-- doxytag: member="TelEngine::Stream::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 in <a class="el" href="classTelEngine_1_1File.html#2614cbc71a9f1bae1f70930d007ec6c1">File</a>, and <a class="el" href="classTelEngine_1_1Socket.html#2614cbc71a9f1bae1f70930d007ec6c1">Socket</a>.</p>

</div>
</div><p>
<a class="anchor" name="926ead67a784f455ddd56590f2928e76"></a><!-- doxytag: member="TelEngine::Stream::clearError" ref="926ead67a784f455ddd56590f2928e76" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void clearError           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clear the last error code 
</div>
</div><p>
<a class="anchor" name="96340680cb1fac065cf67720ac8fe443"></a><!-- doxytag: member="TelEngine::Stream::error" ref="96340680cb1fac065cf67720ac8fe443" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int error           </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 error code of the last operation on this stream <dl class="return" compact><dt><b>Returns:</b></dt><dd>Error code generated by the last operation on this stream </dd></dl>

</div>
</div><p>
<a class="anchor" name="0c1156011c87f6b700d076b1baad8dc6"></a><!-- doxytag: member="TelEngine::Stream::readData" ref="0c1156011c87f6b700d076b1baad8dc6" args="(void *buffer, int length)=0" -->
<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> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Receive data from a connected stream <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>Implemented in <a class="el" href="classTelEngine_1_1File.html#4b0012f52b3982d99359a9178e4862b8">File</a>, and <a class="el" href="classTelEngine_1_1Socket.html#4b0012f52b3982d99359a9178e4862b8">Socket</a>.</p>

</div>
</div><p>
<a class="anchor" name="cf353bce1608e9d3734b4c12d1ae7b87"></a><!-- doxytag: member="TelEngine::Stream::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 stream <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 in <a class="el" href="classTelEngine_1_1File.html#cf353bce1608e9d3734b4c12d1ae7b87">File</a>, and <a class="el" href="classTelEngine_1_1Socket.html#cf353bce1608e9d3734b4c12d1ae7b87">Socket</a>.</p>

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

<p>
Check if operating system supports bidirectional stream pairs <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if bidirectional pairs can be created </dd></dl>

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

<p>
Check if operating system supports unidirectional stream pairs <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if unidirectional pipes can be created </dd></dl>

</div>
</div><p>
<a class="anchor" name="75ac47e7166b2005e2f8c306b5bb05ea"></a><!-- doxytag: member="TelEngine::Stream::terminate" ref="75ac47e7166b2005e2f8c306b5bb05ea" args="()=0" -->
<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> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Implemented in <a class="el" href="classTelEngine_1_1File.html#191ac6b231961b9586ed2eadae024d6a">File</a>, and <a class="el" href="classTelEngine_1_1Socket.html#191ac6b231961b9586ed2eadae024d6a">Socket</a>.</p>

</div>
</div><p>
<a class="anchor" name="d9248394f673632ebda5b9c455e464f2"></a><!-- doxytag: member="TelEngine::Stream::valid" ref="d9248394f673632ebda5b9c455e464f2" args="() const =0" -->
<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> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Implemented in <a class="el" href="classTelEngine_1_1File.html#9fa9d50f99098045df2c2ef3b1af8047">File</a>, and <a class="el" href="classTelEngine_1_1Socket.html#9fa9d50f99098045df2c2ef3b1af8047">Socket</a>.</p>

</div>
</div><p>
<a class="anchor" name="052ac850f0f5e4251dc507203fa22485"></a><!-- doxytag: member="TelEngine::Stream::writeData" ref="052ac850f0f5e4251dc507203fa22485" args="(const DataBlock &amp;buf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int writeData           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>buf</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write a Data block to a connected stream <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td><a class="el" href="classTelEngine_1_1DataBlock.html" title="A class that holds just a block of raw data.">DataBlock</a> to send over the stream </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>References <a class="el" href="yateclass_8h-source.html#l02544">DataBlock::data()</a>, <a class="el" href="yateclass_8h-source.html#l02558">DataBlock::length()</a>, and <a class="el" href="yateclass_8h-source.html#l04029">Stream::writeData()</a>.</p>

<p>Referenced by <a class="el" href="yateclass_8h-source.html#l04029">Stream::writeData()</a>.</p>

</div>
</div><p>
<a class="anchor" name="93a96a9e0e9872057dd0f1b259300459"></a><!-- doxytag: member="TelEngine::Stream::writeData" ref="93a96a9e0e9872057dd0f1b259300459" args="(const String &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int writeData           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write a <a class="el" href="classTelEngine_1_1String.html" title="A C-style string handling class.">String</a> to a connected stream <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td><a class="el" href="classTelEngine_1_1String.html" title="A C-style string handling class.">String</a> to send over the stream </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>References <a class="el" href="yateclass_8h-source.html#l01296">String::c_str()</a>, <a class="el" href="yateclass_8h-source.html#l01310">String::length()</a>, and <a class="el" href="yateclass_8h-source.html#l04021">Stream::writeData()</a>.</p>

<p>Referenced by <a class="el" href="yateclass_8h-source.html#l04021">Stream::writeData()</a>.</p>

</div>
</div><p>
<a class="anchor" name="a9d860f29cc32d8cd92da1d16da72e7e"></a><!-- doxytag: member="TelEngine::Stream::writeData" ref="a9d860f29cc32d8cd92da1d16da72e7e" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int writeData           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write a C string to a connected stream <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td><a class="el" href="classTelEngine_1_1String.html" title="A C-style string handling class.">String</a> to send over the stream </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>

</div>
</div><p>
<a class="anchor" name="88415446fd03ca1954f4561f29c82ff1"></a><!-- doxytag: member="TelEngine::Stream::writeData" ref="88415446fd03ca1954f4561f29c82ff1" args="(const void *buffer, int length)=0" -->
<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> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write data to a connected stream <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>Implemented in <a class="el" href="classTelEngine_1_1File.html#ab8efa96798936c2ed4a76470877ec98">File</a>, and <a class="el" href="classTelEngine_1_1Socket.html#ab8efa96798936c2ed4a76470877ec98">Socket</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>