<!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::keydata 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 Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Data 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 Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="a00208.html">ucommon</a>::<a class="el" href="a00055.html">keydata</a> </div> </div> <div class="contents"> <h1>ucommon::keydata Class Reference</h1><!-- doxytag: class="ucommon::keydata" --><!-- doxytag: inherits="ucommon::OrderedObject" --> <p>Data keys parsed from a keyfile. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="a00187_source.html">keydata.h</a>></code></p> <div class="dynheader"> Inheritance diagram for ucommon::keydata:</div> <div class="dynsection"> <div class="center"><img src="a00390.png" border="0" usemap="#ucommon_1_1keydata_inherit__map" alt="Inheritance graph"/></div> <map name="ucommon_1_1keydata_inherit__map" id="ucommon_1_1keydata_inherit__map"> <area shape="rect" id="node2" href="a00101.html" title="A linked object base class for ordered objects." alt="" coords="9,155,252,181"/><area shape="rect" id="node4" href="a00067.html" title="Common base class for all objects that can be formed into a linked list." alt="" coords="15,80,247,107"/><area shape="rect" id="node6" href="a00095.html" title="A common base class for all managed objects." alt="" coords="5,5,256,32"/></map> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <div class="dynheader"> Collaboration diagram for ucommon::keydata:</div> <div class="dynsection"> <div class="center"><img src="a00391.png" border="0" usemap="#ucommon_1_1keydata_coll__map" alt="Collaboration graph"/></div> <map name="ucommon_1_1keydata_coll__map" id="ucommon_1_1keydata_coll__map"> <area shape="rect" id="node12" href="a00057.html" title="Traditional keypair config file parsing class." alt="" coords="151,461,332,488"/><area shape="rect" id="node2" href="a00101.html" title="A linked object base class for ordered objects." alt="" coords="9,176,252,203"/><area shape="rect" id="node9" href="a00100.html" title="An index container for maintaining an ordered list of objects." alt="" coords="119,280,351,307"/><area shape="rect" id="node4" href="a00067.html" title="Common base class for all objects that can be formed into a linked list." alt="" coords="15,91,247,117"/><area shape="rect" id="node6" href="a00095.html" title="A common base class for all managed objects." alt="" coords="5,5,256,32"/><area shape="rect" id="node14" href="a00079.html" title="A memory protocol pager for private heap manager." alt="" coords="383,371,575,397"/><area shape="rect" id="node16" href="a00073.html" title="Common locking protocol." alt="" coords="375,280,636,307"/></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>Data Structures</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html">keyvalue</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A key value set is used for iterative access. <a href="a00056.html#_details">More...</a><br/></td></tr> <tr><td colspan="2"><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9eda78ae34d8fa51fc38127dda3cf00"></a><!-- doxytag: member="ucommon::keydata::iterator" ref="ae9eda78ae34d8fa51fc38127dda3cf00" args="" --> typedef <a class="el" href="a00062.html">linked_pointer</a>< <a class="el" href="a00056.html">keyvalue</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#ae9eda78ae34d8fa51fc38127dda3cf00">iterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience typedef for iterative pointer. <br/></td></tr> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00056.html">keyvalue</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#af23a3e409c20fdcd4845da4242460c43">begin</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get first value object, for iterative examinations. <a href="#af23a3e409c20fdcd4845da4242460c43"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#a8197941eae340cf1eb7a30e0483179c5">clear</a> (const char *id)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Remove a keyword id from the keydata structure. <a href="#a8197941eae340cf1eb7a30e0483179c5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00056.html">keyvalue</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#ab5ffa876cf803de3d0b9d1d8e5a6c6c6">end</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get last value object, for iterative examinations. <a href="#ab5ffa876cf803de3d0b9d1d8e5a6c6c6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#a1f4b88e46ab4e6203fe8e2d0631ead40">get</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of this section. <a href="#a1f4b88e46ab4e6203fe8e2d0631ead40"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#aabd764fe60ccfac1310a81ae41944604">get</a> (const char *id) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Lookup a key value by it's id. <a href="#aabd764fe60ccfac1310a81ae41944604"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#a0338964ff3210151768c0fccc716ba05">operator()</a> (const char *id) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Lookup a key value by it's id. <a href="#a0338964ff3210151768c0fccc716ba05"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#ab705c2ec323ad56d5576bcd34a05a0bb">set</a> (const char *id, const char *value)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set a keyword and value in the keydata structure. <a href="#ab705c2ec323ad56d5576bcd34a05a0bb"></a><br/></td></tr> <tr><td colspan="2"><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d376dc4ac3b77e2e177221bef1452a7"></a><!-- doxytag: member="ucommon::keydata::keyfile" ref="a2d376dc4ac3b77e2e177221bef1452a7" args="" --> class </td><td class="memItemRight" valign="bottom"><b>keyfile</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9bfaa01de4a4552ed59dda754fd0ad9"></a><!-- doxytag: member="ucommon::keydata::keyvalue" ref="ae9bfaa01de4a4552ed59dda754fd0ad9" args="" --> class </td><td class="memItemRight" valign="bottom"><b>keyvalue</b></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Data keys parsed from a keyfile. </p> <p>This is a specific [] section from a fully loaded keyfile, and offers common means to access data members. This is related to the original GNU Common C++ keydata object, although it is formed in a keyfile class which is loaded from a config file all at once. </p> <dl class="author"><dt><b>Author:</b></dt><dd>David Sugar <<a href="mailto:dyfet@gnutelephony.org">dyfet@gnutelephony.org</a>> </dd></dl> <p>Definition at line <a class="el" href="a00187_source.html#l00057">57</a> of file <a class="el" href="a00187_source.html">keydata.h</a>.</p> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="af23a3e409c20fdcd4845da4242460c43"></a><!-- doxytag: member="ucommon::keydata::begin" ref="af23a3e409c20fdcd4845da4242460c43" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00056.html">keyvalue</a>* ucommon::keydata::begin </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get first value object, for iterative examinations. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>first key value in chain. </dd></dl> <p>Definition at line <a class="el" href="a00187_source.html#l00128">128</a> of file <a class="el" href="a00187_source.html">keydata.h</a>.</p> </div> </div> <a class="anchor" id="a8197941eae340cf1eb7a30e0483179c5"></a><!-- doxytag: member="ucommon::keydata::clear" ref="a8197941eae340cf1eb7a30e0483179c5" args="(const char *id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ucommon::keydata::clear </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>id</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Remove a keyword id from the keydata structure. </p> <p>Removed items still use pager allocated memory. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>to remove. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ab5ffa876cf803de3d0b9d1d8e5a6c6c6"></a><!-- doxytag: member="ucommon::keydata::end" ref="ab5ffa876cf803de3d0b9d1d8e5a6c6c6" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00056.html">keyvalue</a>* ucommon::keydata::end </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get last value object, for iterative examinations. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>first key value in chain. </dd></dl> <p>Definition at line <a class="el" href="a00187_source.html#l00135">135</a> of file <a class="el" href="a00187_source.html">keydata.h</a>.</p> </div> </div> <a class="anchor" id="a1f4b88e46ab4e6203fe8e2d0631ead40"></a><!-- doxytag: member="ucommon::keydata::get" ref="a1f4b88e46ab4e6203fe8e2d0631ead40" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* ucommon::keydata::get </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the name of this section. </p> <p>Useful in iterative examinations. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>name of keydata section. </dd></dl> <p>Definition at line <a class="el" href="a00187_source.html#l00121">121</a> of file <a class="el" href="a00187_source.html">keydata.h</a>.</p> </div> </div> <a class="anchor" id="aabd764fe60ccfac1310a81ae41944604"></a><!-- doxytag: member="ucommon::keydata::get" ref="aabd764fe60ccfac1310a81ae41944604" args="(const char *id) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* ucommon::keydata::get </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>id</em></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Lookup a key value by it's id. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>to look for. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>value string or NULL if not found. </dd></dl> </div> </div> <a class="anchor" id="a0338964ff3210151768c0fccc716ba05"></a><!-- doxytag: member="ucommon::keydata::operator()" ref="a0338964ff3210151768c0fccc716ba05" args="(const char *id) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* ucommon::keydata::operator() </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>id</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Lookup a key value by it's id. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>to look for. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>value string or NULL if not found. </dd></dl> <p>Definition at line <a class="el" href="a00187_source.html#l00098">98</a> of file <a class="el" href="a00187_source.html">keydata.h</a>.</p> </div> </div> <a class="anchor" id="ab705c2ec323ad56d5576bcd34a05a0bb"></a><!-- doxytag: member="ucommon::keydata::set" ref="ab705c2ec323ad56d5576bcd34a05a0bb" args="(const char *id, const char *value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ucommon::keydata::set </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>value</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set a keyword and value in the keydata structure. </p> <p>If the keyword already exists, it is replaced. Removed items still use pager allocated memory. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>to set. </td></tr> <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>for the id. </td></tr> </table> </dd> </dl> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>ucommon/<a class="el" href="a00187_source.html">keydata.h</a></li> </ul> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Jul 14 16:39:37 2011 for ucommon by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>