Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > b20ed37ad2015c2b401b7ad4b1a772d1 > files > 40

eet-devel-1.3.2-1.fc14.x86_64.rpm

<html>
<head>
    <title>Eet: Helper function to use eet over a network link</title>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
    <meta name="author" content="Andres Blanc" >
    
    <link rel="icon" href="img/favicon.png" type="image/x-icon">
    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
    <link rel="icon" href="img/favicon.png" type="image/ico">
    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">

    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
</head>

<body>

<div id="container">

<div id="header">
<div class="layout">
    
    <h1><span>Enlightenment</span></h1>
    <h2><span>Beauty at your fingertips</span></h2>

    <div class="menu-container">
        <div class="menu">
            <ul>
	        <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
                <li><a href="http://www.enlightenment.org/">Home</a></li>
            </ul>
        </div>
    </div>

    <div class="doxytitle">
        Eet Documentation <small>at 2 Jul 2010</small>
    </div>

    <div class="menu-container">
        <div class="submenu">
            <ul class="current">
                <li><a href="Examples.html">Examples</a></li>
                <li><a href="files.html">Files</a></li>
                <li><a href="modules.html">Modules</a></li>
                <li><a href="globals.html">Globals</a></li>
                <li><a href="pages.html">Related Pages</a></li>
	        <li class="current"><a href="index.html">Main Page</a></li>
            </ul>
        </div>
    </div>


    <div class="clear"></div>
</div>
</div>

<div id="content">
<div class="layout">
<!-- Generated by Doxygen 1.6.2-20100208 -->
<div class="contents">
<h1>Helper function to use eet over a network link</h1>
<p>Function that reconstruct and prepare packet of <a class="el" href="group__Eet__Data__Group.html">Eet Data Serialization</a> to be send.  
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga74fdc0339a17a94ce451e5a9870a66f4"></a><!-- doxytag: member="Eet_Connection_Group::Eet_Connection" ref="ga74fdc0339a17a94ce451e5a9870a66f4" args="" -->
typedef struct _Eet_Connection&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Eet__Connection__Group.html#ga74fdc0339a17a94ce451e5a9870a66f4">Eet_Connection</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opaque handle to track paquet for a specific connection. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5102e63d70331d6a5ffb87d42a8ed401"></a><!-- doxytag: member="Eet_Connection_Group::Eet_Read_Cb" ref="ga5102e63d70331d6a5ffb87d42a8ed401" args="(const void *eet_data, size_t size, void *user_data)" -->
typedef Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Eet__Connection__Group.html#ga5102e63d70331d6a5ffb87d42a8ed401">Eet_Read_Cb</a> (const void *eet_data, size_t size, void *user_data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called back when an <a class="el" href="group__Eet__Data__Group.html">Eet Data Serialization</a> has been received completly and could be used. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4e0c17177596c1ee1cecda84056ab45b"></a><!-- doxytag: member="Eet_Connection_Group::Eet_Write_Cb" ref="ga4e0c17177596c1ee1cecda84056ab45b" args="(const void *data, size_t size, void *user_data)" -->
typedef Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Eet__Connection__Group.html#ga4e0c17177596c1ee1cecda84056ab45b">Eet_Write_Cb</a> (const void *data, size_t size, void *user_data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called back when a packet containing <a class="el" href="group__Eet__Data__Group.html">Eet Data Serialization</a> data is ready to be send. <br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Eet__Connection__Group.html#ga74fdc0339a17a94ce451e5a9870a66f4">Eet_Connection</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Eet__Connection__Group.html#gad6e015fb8184ede006af9939311e04ca">eet_connection_new</a> (<a class="el" href="group__Eet__Connection__Group.html#ga5102e63d70331d6a5ffb87d42a8ed401">Eet_Read_Cb</a> *eet_read_cb, <a class="el" href="group__Eet__Connection__Group.html#ga4e0c17177596c1ee1cecda84056ab45b">Eet_Write_Cb</a> *eet_write_cb, const void *user_data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Instanciate a new connection to track.  <a href="#gad6e015fb8184ede006af9939311e04ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Eet__Connection__Group.html#gad862fb515beabce583dd60d10a78011f">eet_connection_received</a> (<a class="el" href="group__Eet__Connection__Group.html#ga74fdc0339a17a94ce451e5a9870a66f4">Eet_Connection</a> *conn, const void *data, size_t size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process a raw packet received over the link  conn Connection handler to track.  <a href="#gad862fb515beabce583dd60d10a78011f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Eet__Connection__Group.html#gacd2289a85daa867e290a5f3e0e0d492d">eet_connection_send</a> (<a class="el" href="group__Eet__Connection__Group.html#ga74fdc0339a17a94ce451e5a9870a66f4">Eet_Connection</a> *conn, <a class="el" href="group__Eet__Data__Group.html#ga4baec0e840012480a0958c5c3bca276d">Eet_Data_Descriptor</a> *edd, const void *data_in, const char *cipher_key)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a complex structure and prepare it to be send.  <a href="#gacd2289a85daa867e290a5f3e0e0d492d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Eet__Connection__Group.html#ga3e9d92c3bffdace3fcb0e6de04fea59a">eet_connection_node_send</a> (<a class="el" href="group__Eet__Connection__Group.html#ga74fdc0339a17a94ce451e5a9870a66f4">Eet_Connection</a> *conn, <a class="el" href="group__Eet__Node__Group.html#gaf589647d3f0fb3e3d03a5c42cd23f51c">Eet_Node</a> *node, const char *cipher_key)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a Eet_Node tree and prepare it to be send.  <a href="#ga3e9d92c3bffdace3fcb0e6de04fea59a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Eet__Connection__Group.html#gad2f7b44fac8b9ad475db133c1c872d9e">eet_connection_close</a> (<a class="el" href="group__Eet__Connection__Group.html#ga74fdc0339a17a94ce451e5a9870a66f4">Eet_Connection</a> *conn, Eina_Bool *on_going)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close a connection and lost its track.  <a href="#gad2f7b44fac8b9ad475db133c1c872d9e"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Function that reconstruct and prepare packet of <a class="el" href="group__Eet__Data__Group.html">Eet Data Serialization</a> to be send. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gad2f7b44fac8b9ad475db133c1c872d9e"></a><!-- doxytag: member="Eet.h::eet_connection_close" ref="gad2f7b44fac8b9ad475db133c1c872d9e" args="(Eet_Connection *conn, Eina_Bool *on_going)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void* eet_connection_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Eet__Connection__Group.html#ga74fdc0339a17a94ce451e5a9870a66f4">Eet_Connection</a> *&nbsp;</td>
          <td class="paramname"> <em>conn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Eina_Bool *&nbsp;</td>
          <td class="paramname"> <em>on_going</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Close a connection and lost its track. </p>
<p>conn Connection handler to close. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>on_going</em>&nbsp;</td><td>Signal if a partial packet wasn't completed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the user_data passed to both callback.</dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>1.2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="gad6e015fb8184ede006af9939311e04ca"></a><!-- doxytag: member="Eet.h::eet_connection_new" ref="gad6e015fb8184ede006af9939311e04ca" args="(Eet_Read_Cb *eet_read_cb, Eet_Write_Cb *eet_write_cb, const void *user_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI <a class="el" href="group__Eet__Connection__Group.html#ga74fdc0339a17a94ce451e5a9870a66f4">Eet_Connection</a>* eet_connection_new </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Eet__Connection__Group.html#ga5102e63d70331d6a5ffb87d42a8ed401">Eet_Read_Cb</a> *&nbsp;</td>
          <td class="paramname"> <em>eet_read_cb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Eet__Connection__Group.html#ga4e0c17177596c1ee1cecda84056ab45b">Eet_Write_Cb</a> *&nbsp;</td>
          <td class="paramname"> <em>eet_write_cb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>user_data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Instanciate a new connection to track. </p>
<p>eet_read_cb Function to call when one Eet_Data packet has been fully assemble. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>eet_write_cb</em>&nbsp;</td><td>Function to call when one Eet_Data packet is ready to be send over the wire. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>user_data</em>&nbsp;</td><td>Pointer provided to both functions to be used as a context handler. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on failure, or a valid Eet_Connection handler.</dd></dl>
<p>For every connection to track you will need a separate Eet_Connection provider.</p>
<dl class="since"><dt><b>Since:</b></dt><dd>1.2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="ga3e9d92c3bffdace3fcb0e6de04fea59a"></a><!-- doxytag: member="Eet.h::eet_connection_node_send" ref="ga3e9d92c3bffdace3fcb0e6de04fea59a" args="(Eet_Connection *conn, Eet_Node *node, const char *cipher_key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI Eina_Bool eet_connection_node_send </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Eet__Connection__Group.html#ga74fdc0339a17a94ce451e5a9870a66f4">Eet_Connection</a> *&nbsp;</td>
          <td class="paramname"> <em>conn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Eet__Node__Group.html#gaf589647d3f0fb3e3d03a5c42cd23f51c">Eet_Node</a> *&nbsp;</td>
          <td class="paramname"> <em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>cipher_key</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convert a Eet_Node tree and prepare it to be send. </p>
<p>conn Connection handler to track. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>The data tree to use when encoding. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cipher_key</em>&nbsp;</td><td>The key to use as cipher. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if the data where correctly send, EINA_FALSE if they don't.</dd></dl>
<p>This function serialize node, assemble the packet and call Eet_Write_Cb when ready. The data passed Eet_Write_Cb are temporary allocated and will vanish just after the return of the callback.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Eet__Node__Group.html#ga665a2c4f2ea2621bbe8f9852b102a13c" title="TODO FIX ME.">eet_data_node_encode_cipher</a></dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>1.2.4 </dd></dl>

<p>References <a class="el" href="eet__data_8c_source.html#l03781">eet_data_node_encode_cipher()</a>.</p>

</div>
</div>
<a class="anchor" id="gad862fb515beabce583dd60d10a78011f"></a><!-- doxytag: member="Eet.h::eet_connection_received" ref="gad862fb515beabce583dd60d10a78011f" args="(Eet_Connection *conn, const void *data, size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI int eet_connection_received </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Eet__Connection__Group.html#ga74fdc0339a17a94ce451e5a9870a66f4">Eet_Connection</a> *&nbsp;</td>
          <td class="paramname"> <em>conn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>data</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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Process a raw packet received over the link  conn Connection handler to track. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Raw data packet. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size of that packet. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on complete success, any other value indicate where in the stream it got wrong (It could be before that packet).</dd></dl>
<p>Every time you receive a packet related to your connection, you should pass it to that function so that it could process and assemble packet has you receive it. It will automatically call Eet_Read_Cb when one is fully received.</p>
<dl class="since"><dt><b>Since:</b></dt><dd>1.2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="gacd2289a85daa867e290a5f3e0e0d492d"></a><!-- doxytag: member="Eet.h::eet_connection_send" ref="gacd2289a85daa867e290a5f3e0e0d492d" args="(Eet_Connection *conn, Eet_Data_Descriptor *edd, const void *data_in, const char *cipher_key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI Eina_Bool eet_connection_send </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Eet__Connection__Group.html#ga74fdc0339a17a94ce451e5a9870a66f4">Eet_Connection</a> *&nbsp;</td>
          <td class="paramname"> <em>conn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Eet__Data__Group.html#ga4baec0e840012480a0958c5c3bca276d">Eet_Data_Descriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>edd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>data_in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>cipher_key</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convert a complex structure and prepare it to be send. </p>
<p>conn Connection handler to track. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>edd</em>&nbsp;</td><td>The data descriptor to use when encoding. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data_in</em>&nbsp;</td><td>The pointer to the struct to encode into data. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cipher_key</em>&nbsp;</td><td>The key to use as cipher. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if the data where correctly send, EINA_FALSE if they don't.</dd></dl>
<p>This function serialize data_in with edd, assemble the packet and call Eet_Write_Cb when ready. The data passed Eet_Write_Cb are temporary allocated and will vanish just after the return of the callback.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Eet__Data__Cipher__Group.html#gab765474a660b0dfe5f00d99a960206db" title="Encode a data struct to memory and return that encoded data using a cipher.">eet_data_descriptor_encode_cipher</a></dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>1.2.4 </dd></dl>

<p>References <a class="el" href="eet__data_8c_source.html#l03811">eet_data_descriptor_encode_cipher()</a>.</p>

</div>
</div>
</div>
 
 <div id="push"></div>
 </div> <!-- #content -->
  </div> <!-- .layout -->
 
 </div> <!-- #container -->
 
 
  <div id="footer">
    <table><tr>
      <td class="poweredby"><img src="doxygen.png"></td>
      <td class="copyright">Copyright &copy;2010 Enlightenment</td>
      <td class="generated">Docs generated Fri Jul 2 11:41:22 2010</td>
    </tr></table>
  </div>


</body>
</html>