<!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>libcollection: Update property functions</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body onload='searchBox.OnSelectItem(0);'> <!-- Generated by Doxygen 1.7.4 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">libcollection <span id="projectnumber">0.1.3</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li id="searchli"> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Update property functions</div> </div> <div class="ingroups"><a class="el" href="group__collection.html">COLLECTION interface</a></div></div> <div class="contents"> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__updateproperty.html#ga09daf89294334642a31e1fe4e0160597">col_update_str_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *property, int mode_flags, char *string, int length)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__updateproperty.html#ga96c4a3e3dd1a63caef14209c748e52cc">col_update_binary_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *property, int mode_flags, void *binary_data, int length)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__updateproperty.html#gad961aff4bb96c11cbd1f54cdb7884ff1">col_update_int_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *property, int mode_flags, int32_t number)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__updateproperty.html#gaabd3a49475d9dd1df545e326c9149078">col_update_unsigned_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *property, int mode_flags, uint32_t number)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__updateproperty.html#gad718d2d1f9967a0db9815a1984e515d3">col_update_long_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *property, int mode_flags, int64_t number)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__updateproperty.html#ga08da756c5204e2a8569d875f44526dc3">col_update_ulong_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *property, int mode_flags, uint64_t number)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__updateproperty.html#ga62c0e07df07d12d564cda0a7ec693b25">col_update_double_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *property, int mode_flags, double number)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__updateproperty.html#gac8e8a8189449d66d85da3b64979c1d48">col_update_bool_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *property, int mode_flags, unsigned char logical)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__updateproperty.html#ga7dcaaa7f2768c00717b0fe6941db164f">col_update_property</a> (struct <a class="el" href="structcollection__item.html">collection_item</a> *ci, const char *property, int type, void *new_data, int length, int mode_flags)</td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <p>Functions in this section update properties in a collection.</p> <p>All update functions search the property using the internal traverse function. Use same "x!y" notation to specify a property. For more details about the search logic see <a class="el" href="group__collection.html#ga7eda0c854d3d85f6190d945c357e4055">col_get_item_and_do</a> function.</p> <p>The existing value of the property is destroyed and lost.</p> <p>It is not possible to rename the property using these functions. To do more advanced modifications see <a class="el" href="group__getitem.html#gaffce843dbd40ba630f85110c2b34b2f7">col_modify_item</a> function and <a class="el" href="group__modwrap.html">item modification wrappers</a> .</p> <p>Common parameters for these functions are:</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">ci</td><td>Root collection object. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">property</td><td>Name of the property. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">mode_flags</td><td>Specify how the collection should to be traversed.</td></tr> </table> </dd> </dl> <p>The rest of the arguments specify the new values for the property. For more details about these arguments see the description of the <a class="el" href="group__addproperty.html">col_add_xxx_property</a> corresponding function.</p> <dl class="return"><dt><b>Returns:</b></dt><dd>0 - Property was updated successfully. </dd> <dd> ENOMEM - No memory. </dd> <dd> EINVAL - The value of some of the arguments is invalid. The attempt to update a property which is a reference to a collection or a collection name. </dd> <dd> ENOENT - Property to update is not found. </dd></dl> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ga96c4a3e3dd1a63caef14209c748e52cc"></a><!-- doxytag: member="collection.h::col_update_binary_property" ref="ga96c4a3e3dd1a63caef14209c748e52cc" args="(struct collection_item *ci, const char *property, int mode_flags, void *binary_data, int length)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int col_update_binary_property </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> * </td> <td class="paramname"><em>ci</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>property</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode_flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>binary_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>length</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Update a property with a binary value. </p> </div> </div> <a class="anchor" id="gac8e8a8189449d66d85da3b64979c1d48"></a><!-- doxytag: member="collection.h::col_update_bool_property" ref="gac8e8a8189449d66d85da3b64979c1d48" args="(struct collection_item *ci, const char *property, int mode_flags, unsigned char logical)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int col_update_bool_property </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> * </td> <td class="paramname"><em>ci</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>property</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode_flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char </td> <td class="paramname"><em>logical</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Update a property with a Boolean value. </p> </div> </div> <a class="anchor" id="ga62c0e07df07d12d564cda0a7ec693b25"></a><!-- doxytag: member="collection.h::col_update_double_property" ref="ga62c0e07df07d12d564cda0a7ec693b25" args="(struct collection_item *ci, const char *property, int mode_flags, double number)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int col_update_double_property </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> * </td> <td class="paramname"><em>ci</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>property</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode_flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>number</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Update a property with a floating point value. </p> </div> </div> <a class="anchor" id="gad961aff4bb96c11cbd1f54cdb7884ff1"></a><!-- doxytag: member="collection.h::col_update_int_property" ref="gad961aff4bb96c11cbd1f54cdb7884ff1" args="(struct collection_item *ci, const char *property, int mode_flags, int32_t number)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int col_update_int_property </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> * </td> <td class="paramname"><em>ci</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>property</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode_flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32_t </td> <td class="paramname"><em>number</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Update a property with an integer value. </p> </div> </div> <a class="anchor" id="gad718d2d1f9967a0db9815a1984e515d3"></a><!-- doxytag: member="collection.h::col_update_long_property" ref="gad718d2d1f9967a0db9815a1984e515d3" args="(struct collection_item *ci, const char *property, int mode_flags, int64_t number)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int col_update_long_property </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> * </td> <td class="paramname"><em>ci</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>property</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode_flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int64_t </td> <td class="paramname"><em>number</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Update a property with a long value. </p> </div> </div> <a class="anchor" id="ga7dcaaa7f2768c00717b0fe6941db164f"></a><!-- doxytag: member="collection.h::col_update_property" ref="ga7dcaaa7f2768c00717b0fe6941db164f" args="(struct collection_item *ci, const char *property, int type, void *new_data, int length, int mode_flags)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int col_update_property </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> * </td> <td class="paramname"><em>ci</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>property</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>new_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode_flags</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Update a property with a value by specifying type and value. See definitions of the type constants <a class="el" href="group__coltypes.html">here</a>. All other col_update_xxx_property functions are wrappers around this one. </p> </div> </div> <a class="anchor" id="ga09daf89294334642a31e1fe4e0160597"></a><!-- doxytag: member="collection.h::col_update_str_property" ref="ga09daf89294334642a31e1fe4e0160597" args="(struct collection_item *ci, const char *property, int mode_flags, char *string, int length)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int col_update_str_property </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> * </td> <td class="paramname"><em>ci</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>property</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode_flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>length</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Update a property with a string value. Length should include the terminating 0. </p> </div> </div> <a class="anchor" id="ga08da756c5204e2a8569d875f44526dc3"></a><!-- doxytag: member="collection.h::col_update_ulong_property" ref="ga08da756c5204e2a8569d875f44526dc3" args="(struct collection_item *ci, const char *property, int mode_flags, uint64_t number)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int col_update_ulong_property </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> * </td> <td class="paramname"><em>ci</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>property</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode_flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint64_t </td> <td class="paramname"><em>number</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Update a property with an unsigned long value. </p> </div> </div> <a class="anchor" id="gaabd3a49475d9dd1df545e326c9149078"></a><!-- doxytag: member="collection.h::col_update_unsigned_property" ref="gaabd3a49475d9dd1df545e326c9149078" args="(struct collection_item *ci, const char *property, int mode_flags, uint32_t number)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int col_update_unsigned_property </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcollection__item.html">collection_item</a> * </td> <td class="paramname"><em>ci</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>property</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode_flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>number</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Update a property with an unsigned value. </p> </div> </div> </div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <hr class="footer"/><address class="footer"><small>Generated on Thu Sep 15 2011 for libcollection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>