Sophie

Sophie

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

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

<html>
<head>
    <title>Eet: _Eet_Data_Descriptor_Class Struct Reference</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>_Eet_Data_Descriptor_Class Struct Reference<br/>
<small>
[<a class="el" href="group__Eet__Data__Group.html">Eet Data Serialization</a>]</small>
</h1><!-- doxytag: class="_Eet_Data_Descriptor_Class" -->
<p>Instructs Eet about memory management for different needs under serialization and parse process.  
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e3696014d6907dadd55840bf6008317"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::version" ref="a4e3696014d6907dadd55840bf6008317" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#a4e3696014d6907dadd55840bf6008317">version</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ABI version as <a class="el" href="group__Eet__Data__Group.html#ga61a090586eff90415b429f1017acf8a7" title="The version of Eet_Data_Descriptor_Class at the time of the distribution of the sources...">EET_DATA_DESCRIPTOR_CLASS_VERSION</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cfe16ee62c58ab68bb6feb47829749f"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::name" ref="a4cfe16ee62c58ab68bb6feb47829749f" args="" -->
const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#a4cfe16ee62c58ab68bb6feb47829749f">name</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Name of data type to be serialized. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e55b214032157b06162b57eaac9fe66"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::size" ref="a5e55b214032157b06162b57eaac9fe66" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#a5e55b214032157b06162b57eaac9fe66">size</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size in bytes of data type to be serialized. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3b1a9a994a11ed2af8d62ef3ba2a15a"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::mem_alloc" ref="ad3b1a9a994a11ed2af8d62ef3ba2a15a" args=")(size_t size)" -->
void *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#ad3b1a9a994a11ed2af8d62ef3ba2a15a">mem_alloc</a> )(size_t <a class="el" href="struct__Eet__Data__Descriptor__Class.html#a5e55b214032157b06162b57eaac9fe66">size</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">how to allocate memory (usually malloc()) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac237e2ec9a8a5d329671508e8060ec49"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::mem_free" ref="ac237e2ec9a8a5d329671508e8060ec49" args=")(void *mem)" -->
void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#ac237e2ec9a8a5d329671508e8060ec49">mem_free</a> )(void *mem)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">how to free memory (usually free()) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22bc69a254d0ac3c959ba3622b322f63"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::str_alloc" ref="a22bc69a254d0ac3c959ba3622b322f63" args=")(const char *str)" -->
char *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#a22bc69a254d0ac3c959ba3622b322f63">str_alloc</a> )(const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">how to allocate a string <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03b50b2ded747c5ec1eb8f6602a82c72"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::str_free" ref="a03b50b2ded747c5ec1eb8f6602a82c72" args=")(const char *str)" -->
void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#a03b50b2ded747c5ec1eb8f6602a82c72">str_free</a> )(const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">how to free a string <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#ad43310e52e0f44cbb08ce00ba8090044">list_next</a> )(void *l)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">how to iterate to the next element of a list.  <a href="#ad43310e52e0f44cbb08ce00ba8090044"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21020cc0f59ec00c29ac3b76af157ed1"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::list_append" ref="a21020cc0f59ec00c29ac3b76af157ed1" args=")(void *l, void *d)" -->
void *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#a21020cc0f59ec00c29ac3b76af157ed1">list_append</a> )(void *l, void *d)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">how to append data <code>d</code> to list which head node is <code>l</code> <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe434c6b73d54c9fe2080f4ccccc108d"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::list_data" ref="abe434c6b73d54c9fe2080f4ccccc108d" args=")(void *l)" -->
void *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#abe434c6b73d54c9fe2080f4ccccc108d">list_data</a> )(void *l)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">retrieves the data from node <code>l</code> <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a722f4cf6802befce7909f3666870d413"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::list_free" ref="a722f4cf6802befce7909f3666870d413" args=")(void *l)" -->
void *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#a722f4cf6802befce7909f3666870d413">list_free</a> )(void *l)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">free all the nodes from the list which head node is <code>l</code> <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af62ca8b71158f6a8b6774ad79d34f331"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::hash_foreach" ref="af62ca8b71158f6a8b6774ad79d34f331" args=")(void *h, int(*func)(void *h, const char *k, void *dt, void *fdt), void *fdt)" -->
void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#af62ca8b71158f6a8b6774ad79d34f331">hash_foreach</a> )(void *h, int(*func)(void *h, const char *k, void *dt, void *fdt), void *fdt)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">iterates over all elements in the hash <code>h</code> in no specific order <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b3d9fb7c840c6c63c4f5ffb48ab4ec2"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::hash_add" ref="a2b3d9fb7c840c6c63c4f5ffb48ab4ec2" args=")(void *h, const char *k, void *d)" -->
void *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#a2b3d9fb7c840c6c63c4f5ffb48ab4ec2">hash_add</a> )(void *h, const char *k, void *d)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">add a new data <code>d</code> as key <code>k</code> in hash <code>h</code> <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad01dd9a4888b4775bbf18205f62b0ee1"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::hash_free" ref="ad01dd9a4888b4775bbf18205f62b0ee1" args=")(void *h)" -->
void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#ad01dd9a4888b4775bbf18205f62b0ee1">hash_free</a> )(void *h)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">free all entries from the hash <code>h</code> <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3cff52e990fee9e358b623e19c29c642"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::str_direct_alloc" ref="a3cff52e990fee9e358b623e19c29c642" args=")(const char *str)" -->
char *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#a3cff52e990fee9e358b623e19c29c642">str_direct_alloc</a> )(const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">how to allocate a string directly from file backed/mmaped region pointed by <code>str</code> <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1c92e581a649866e3710b8b2fb0f7c22"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::str_direct_free" ref="a1c92e581a649866e3710b8b2fb0f7c22" args=")(const char *str)" -->
void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#a1c92e581a649866e3710b8b2fb0f7c22">str_direct_free</a> )(const char *str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">how to free a string returned by str_direct_alloc <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#acb2de73295b1a3e400e96e8d64f67108">type_get</a> )(const void *data, Eina_Bool *unknow)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert any kind of data type to a name that define an Eet_Data_Element.  <a href="#acb2de73295b1a3e400e96e8d64f67108"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f4f232c50a3d48a7d4e989de254ea41"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::type_set" ref="a1f4f232c50a3d48a7d4e989de254ea41" args=")(const char *type, void *data, Eina_Bool unknow)" -->
Eina_Bool(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Eet__Data__Descriptor__Class.html#a1f4f232c50a3d48a7d4e989de254ea41">type_set</a> )(const char *type, void *data, Eina_Bool unknow)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the type at a particular adress <br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Instructs Eet about memory management for different needs under serialization and parse process. </p>
<p>If using Eina data types, it is advised to use the helpers <a class="el" href="group__Eet__Data__Group.html#ga7e41116c11d7d8d62513d9615fb15058" title="This macro is an helper that set all the parameter of an Eet_Data_Descriptor_Class...">EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET()</a> and <a class="el" href="group__Eet__Data__Group.html#ga6d1a295596ac973969692d139353ed6a" title="This macro is an helper that set all the parameter of an Eet_Data_Descriptor_Class...">EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET()</a>. </p>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="ad43310e52e0f44cbb08ce00ba8090044"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::list_next" ref="ad43310e52e0f44cbb08ce00ba8090044" args=")(void *l)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void*(* <a class="el" href="struct__Eet__Data__Descriptor__Class.html#ad43310e52e0f44cbb08ce00ba8090044">_Eet_Data_Descriptor_Class::list_next</a>)(void *l)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>how to iterate to the next element of a list. </p>
<p>Receives and should return the list node. </p>

<p>Referenced by <a class="el" href="eet__data_8c_source.html#l01390">eet_data_descriptor_new()</a>, and <a class="el" href="eet__data_8c_source.html#l01304">eet_eina_stream_data_descriptor_class_set()</a>.</p>

</div>
</div>
<a class="anchor" id="acb2de73295b1a3e400e96e8d64f67108"></a><!-- doxytag: member="_Eet_Data_Descriptor_Class::type_get" ref="acb2de73295b1a3e400e96e8d64f67108" args=")(const void *data, Eina_Bool *unknow)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char*(* <a class="el" href="struct__Eet__Data__Descriptor__Class.html#acb2de73295b1a3e400e96e8d64f67108">_Eet_Data_Descriptor_Class::type_get</a>)(const void *data, Eina_Bool *unknow)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>convert any kind of data type to a name that define an Eet_Data_Element. </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>