Sophie

Sophie

distrib > Mandriva > 2010.1 > i586 > by-pkgid > 4f5f2dc0f55b453456458df885792b0b > files > 379

ucommon-doc-5.0.4-1mdv2010.2.i586.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"/>
<title>ucommon: ucommon::SSLBuffer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.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>Data&nbsp;Structures</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 class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="a00208.html">ucommon</a>::<a class="el" href="a00143.html">SSLBuffer</a>
  </div>
</div>
<div class="contents">
<h1>ucommon::SSLBuffer Class Reference</h1><!-- doxytag: class="ucommon::SSLBuffer" --><!-- doxytag: inherits="ucommon::TCPBuffer" -->
<p>Secure socket buffer.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00196_source.html">secure.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ucommon::SSLBuffer:</div>
<div class="dynsection">
<div class="center"><img src="a00529.png" border="0" usemap="#ucommon_1_1_s_s_l_buffer_inherit__map" alt="Inheritance graph"/></div>
<map name="ucommon_1_1_s_s_l_buffer_inherit__map" id="ucommon_1_1_s_s_l_buffer_inherit__map">
<area shape="rect" id="node2" href="a00151.html" title="A generic tcp socket class that offers i/o buffering." alt="" coords="163,155,365,181"/><area shape="rect" id="node4" href="a00028.html" title="Common buffer protocol class." alt="" coords="21,80,272,107"/><area shape="rect" id="node6" href="a00030.html" title="Common character processing protocol." alt="" coords="5,5,288,32"/><area shape="rect" id="node8" href="a00140.html" title="A generic socket base class." alt="" coords="296,80,467,107"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ucommon::SSLBuffer:</div>
<div class="dynsection">
<div class="center"><img src="a00530.png" border="0" usemap="#ucommon_1_1_s_s_l_buffer_coll__map" alt="Collaboration graph"/></div>
<map name="ucommon_1_1_s_s_l_buffer_coll__map" id="ucommon_1_1_s_s_l_buffer_coll__map">
<area shape="rect" id="node2" href="a00151.html" title="A generic tcp socket class that offers i/o buffering." alt="" coords="163,155,365,181"/><area shape="rect" id="node4" href="a00028.html" title="Common buffer protocol class." alt="" coords="21,80,272,107"/><area shape="rect" id="node6" href="a00030.html" title="Common character processing protocol." alt="" coords="5,5,288,32"/><area shape="rect" id="node8" href="a00140.html" title="A generic socket base class." alt="" coords="296,80,467,107"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<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="a128dc04a0742a1b02653865a39e08e14"></a><!-- doxytag: member="ucommon::SSLBuffer::_flush" ref="a128dc04a0742a1b02653865a39e08e14" args="(void)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a128dc04a0742a1b02653865a39e08e14">_flush</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flush buffer to physical i/o. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a72fa62f40ca59d9f0c96ee911033b223">_pending</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check for pending tcp or ssl data.  <a href="#a72fa62f40ca59d9f0c96ee911033b223"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a7239ef8827aefec0584fb742808048ce">_pull</a> (char *<a class="el" href="a00141.html">address</a>, size_t size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Method to pull buffer from physical i/o (read).  <a href="#a7239ef8827aefec0584fb742808048ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#af0cbe6e362a9285e512d9e7bfcb83356">_push</a> (const char *<a class="el" href="a00141.html">address</a>, size_t size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Method to push buffer into physical i/o (write).  <a href="#af0cbe6e362a9285e512d9e7bfcb83356"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fc157d73efa176fb137a68521f02581"></a><!-- doxytag: member="ucommon::SSLBuffer::close" ref="a1fc157d73efa176fb137a68521f02581" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a1fc157d73efa176fb137a68521f02581">close</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close active connection. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5e98fc0c97cd79fc80181360109f385"></a><!-- doxytag: member="ucommon::SSLBuffer::is_secure" ref="ac5e98fc0c97cd79fc80181360109f385" args="(void)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>is_secure</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#ad2d3981de1cb63a1b27a420db8eb1248">open</a> (const char *host, const char *service, size_t size=536)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connect a ssl client session to a specific host uri.  <a href="#ad2d3981de1cb63a1b27a420db8eb1248"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18a109e153eef854f521b344bf3d155f"></a><!-- doxytag: member="ucommon::SSLBuffer::release" ref="a18a109e153eef854f521b344bf3d155f" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a18a109e153eef854f521b344bf3d155f">release</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Release (free) buffer memory. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f32411b3658ec8b8b13b91036ab62c2"></a><!-- doxytag: member="ucommon::SSLBuffer::SSLBuffer" ref="a1f32411b3658ec8b8b13b91036ab62c2" args="(const TCPServer *server, secure::server_t context, size_t size=536)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>SSLBuffer</b> (const <a class="el" href="a00152.html">TCPServer</a> *server, <a class="el" href="a00118.html">secure::server_t</a> context, size_t size=536)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf500609a657899bff752865ed1a7b3a"></a><!-- doxytag: member="ucommon::SSLBuffer::SSLBuffer" ref="aaf500609a657899bff752865ed1a7b3a" args="(secure::client_t context)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>SSLBuffer</b> (<a class="el" href="a00118.html">secure::client_t</a> context)</td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c563b3dc1ec49f537f56b16d1fcf0b6"></a><!-- doxytag: member="ucommon::SSLBuffer::bio" ref="a9c563b3dc1ec49f537f56b16d1fcf0b6" args="" -->
<a class="el" href="a00118.html#acb5b691296783537a3151eefed526887">secure::bufio_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>bio</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9bb497daecfed329d3dc023018650ae1"></a><!-- doxytag: member="ucommon::SSLBuffer::server" ref="a9bb497daecfed329d3dc023018650ae1" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>server</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa9f82f3c7075d692c7f6b6827e064e32"></a><!-- doxytag: member="ucommon::SSLBuffer::ssl" ref="aa9f82f3c7075d692c7f6b6827e064e32" args="" -->
<a class="el" href="a00118.html#a24631c3cad76cacbd7d4dd7d296150c9">secure::session_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>ssl</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abff2d8ea31e7656b956c494369eb7cf4"></a><!-- doxytag: member="ucommon::SSLBuffer::verify" ref="abff2d8ea31e7656b956c494369eb7cf4" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>verify</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Secure socket buffer. </p>
<p>This is used to create ssl socket connections for both clients and servers. The use depends in part on the type of context created and passed at construction time. If no context is passed (NULL), then this reverts to <a class="el" href="a00151.html" title="A generic tcp socket class that offers i/o buffering.">TCPBuffer</a> behavior. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>David Sugar &lt;<a href="mailto:dyfet@gnutelephony.org">dyfet@gnutelephony.org</a>&gt; </dd></dl>

<p>Definition at line <a class="el" href="a00196_source.html#l00216">216</a> of file <a class="el" href="a00196_source.html">secure.h</a>.</p>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a72fa62f40ca59d9f0c96ee911033b223"></a><!-- doxytag: member="ucommon::SSLBuffer::_pending" ref="a72fa62f40ca59d9f0c96ee911033b223" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::SSLBuffer::_pending </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check for pending tcp or ssl data. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if data pending. </dd></dl>

<p>Reimplemented from <a class="el" href="a00151.html#ab216fea2b8230fb897ab0d7954f2a4e3">ucommon::TCPBuffer</a>.</p>

</div>
</div>
<a class="anchor" id="a7239ef8827aefec0584fb742808048ce"></a><!-- doxytag: member="ucommon::SSLBuffer::_pull" ref="a7239ef8827aefec0584fb742808048ce" args="(char *address, size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ucommon::SSLBuffer::_pull </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</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>Method to pull buffer from physical i/o (read). </p>
<p>The address is passed to this virtual since it is hidden as private. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>address</em>&nbsp;</td><td>of buffer to pull data into. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>of buffer area being pulled.. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of read written, 0 on error or end of data. </dd></dl>

<p>Reimplemented from <a class="el" href="a00151.html#aa707a8eafa0360cf7318fe12444ccbb6">ucommon::TCPBuffer</a>.</p>

</div>
</div>
<a class="anchor" id="af0cbe6e362a9285e512d9e7bfcb83356"></a><!-- doxytag: member="ucommon::SSLBuffer::_push" ref="af0cbe6e362a9285e512d9e7bfcb83356" args="(const char *address, size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ucommon::SSLBuffer::_push </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</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>Method to push buffer into physical i/o (write). </p>
<p>The address is passed to this virtual since it is hidden as private. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>address</em>&nbsp;</td><td>of data to push. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>of data to push. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of bytes written, 0 on error. </dd></dl>

<p>Reimplemented from <a class="el" href="a00151.html#ab7dd00490127cc7eb1fa194f6fe90f6f">ucommon::TCPBuffer</a>.</p>

</div>
</div>
<a class="anchor" id="ad2d3981de1cb63a1b27a420db8eb1248"></a><!-- doxytag: member="ucommon::SSLBuffer::open" ref="ad2d3981de1cb63a1b27a420db8eb1248" args="(const char *host, const char *service, size_t size=536)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::SSLBuffer::open </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>host</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>service</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em> = <code>536</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connect a ssl client session to a specific host uri. </p>
<p>If the socket was already connected, it is automatically closed first. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>host</em>&nbsp;</td><td>we are connecting to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>service</em>&nbsp;</td><td>to connect to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>of buffer and tcp fragments. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="a00151.html#a4fac2eaa04264d57382f682b65165bd8">ucommon::TCPBuffer</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>ucommon/<a class="el" href="a00196_source.html">secure.h</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Jul 14 16:40:04 2011 for ucommon by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>