<!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: keydata Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <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">ucommon</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="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 id="navrow2" class="tabs2"> <ul class="tablist"> <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="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('a00054.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#friends">Friends</a> </div> <div class="headertitle"> <h1>keydata Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="keydata" --><!-- doxytag: inherits="OrderedObject" --> <p>Data keys parsed from a keyfile. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="a00186_source.html">keydata.h</a>></code></p> <div class="dynheader"> Inheritance diagram for keydata:</div> <div class="dyncontent"> <div class="center"><img src="a00324.png" border="0" usemap="#keydata_inherit__map" alt="Inheritance graph"/></div> <map name="keydata_inherit__map" id="keydata_inherit__map"> <area shape="rect" id="node2" href="a00099.html" title="A linked object base class for ordered objects." alt="" coords="5,155,157,181"/><area shape="rect" id="node4" href="a00065.html" title="Common base class for all objects that can be formed into a linked list." alt="" coords="11,80,152,107"/><area shape="rect" id="node6" href="a00091.html" title="A common base class for all managed objects." alt="" coords="40,5,123,32"/></map> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <div class="dynheader"> Collaboration diagram for keydata:</div> <div class="dyncontent"> <div class="center"><img src="a00325.png" border="0" usemap="#keydata_coll__map" alt="Collaboration graph"/></div> <map name="keydata_coll__map" id="keydata_coll__map"> <area shape="rect" id="node12" href="a00056.html" title="Traditional keypair config file parsing class." alt="" coords="113,461,204,488"/><area shape="rect" id="node2" href="a00099.html" title="A linked object base class for ordered objects." alt="" coords="5,176,157,203"/><area shape="rect" id="node9" href="a00098.html" title="An index container for maintaining an ordered list of objects." alt="" coords="81,280,223,307"/><area shape="rect" id="node4" href="a00065.html" title="Common base class for all objects that can be formed into a linked list." alt="" coords="11,91,152,117"/><area shape="rect" id="node6" href="a00091.html" title="A common base class for all managed objects." alt="" coords="40,5,123,32"/><area shape="rect" id="node14" href="a00077.html" title="A memory protocol pager for private heap manager." alt="" coords="276,371,377,397"/><area shape="rect" id="node16" href="a00071.html" title="Common locking protocol." alt="" coords="247,280,417,307"/></map> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html">keyvalue</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A key value set is used for iterative access. <a href="a00055.html#_details">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="pub-types"></a> Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44740347c9bc8ee99ef2282bc0c8a4be"></a><!-- doxytag: member="keydata::iterator" ref="a44740347c9bc8ee99ef2282bc0c8a4be" args="" --> typedef <a class="el" href="a00061.html">linked_pointer</a>< <a class="el" href="a00055.html">keyvalue</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#a44740347c9bc8ee99ef2282bc0c8a4be">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><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00055.html">keyvalue</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#aa00f5d55f2cf054aaf9352aab471de06">begin</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get first value object, for iterative examinations. <a href="#aa00f5d55f2cf054aaf9352aab471de06"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#a7093459b20feadd1597572a5deebc2e9">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="#a7093459b20feadd1597572a5deebc2e9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00055.html">keyvalue</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#a8084d52ba1028a5130dc008b386c190f">end</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get last value object, for iterative examinations. <a href="#a8084d52ba1028a5130dc008b386c190f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#abbaaee3e399e4620dc201692d253f334">get</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of this section. <a href="#abbaaee3e399e4620dc201692d253f334"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#a70ae6fd1e1f0208efda645d59fd172c2">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="#a70ae6fd1e1f0208efda645d59fd172c2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#aaaf0a17e35f1779efa321bffdd46d7bd">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="#aaaf0a17e35f1779efa321bffdd46d7bd"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#ab5fdce06f9e2ef0ec6c563a6e5c3464a">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="#ab5fdce06f9e2ef0ec6c563a6e5c3464a"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="friends"></a> Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d376dc4ac3b77e2e177221bef1452a7"></a><!-- doxytag: member="keydata::keyfile" ref="a2d376dc4ac3b77e2e177221bef1452a7" args="" --> class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#a2d376dc4ac3b77e2e177221bef1452a7">keyfile</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9bfaa01de4a4552ed59dda754fd0ad9"></a><!-- doxytag: member="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> <div class="textblock"><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> <dl><dt><b>Examples: </b></dt><dd> <p><a class="el" href="a00002.html#_a0">keydata.cpp</a>.</p> </dd> </dl> <p>Definition at line <a class="el" href="a00186_source.html#l00057">57</a> of file <a class="el" href="a00186_source.html">keydata.h</a>.</p> </div><hr/><h2>Member Function Documentation</h2> <a class="anchor" id="aa00f5d55f2cf054aaf9352aab471de06"></a><!-- doxytag: member="keydata::begin" ref="aa00f5d55f2cf054aaf9352aab471de06" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00055.html">keyvalue</a>* 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="a00186_source.html#l00128">128</a> of file <a class="el" href="a00186_source.html">keydata.h</a>.</p> </div> </div> <a class="anchor" id="a7093459b20feadd1597572a5deebc2e9"></a><!-- doxytag: member="keydata::clear" ref="a7093459b20feadd1597572a5deebc2e9" args="(const char *id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void 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 class="params"> <tr><td class="paramname">id</td><td>to remove. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a8084d52ba1028a5130dc008b386c190f"></a><!-- doxytag: member="keydata::end" ref="a8084d52ba1028a5130dc008b386c190f" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00055.html">keyvalue</a>* 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="a00186_source.html#l00135">135</a> of file <a class="el" href="a00186_source.html">keydata.h</a>.</p> </div> </div> <a class="anchor" id="abbaaee3e399e4620dc201692d253f334"></a><!-- doxytag: member="keydata::get" ref="abbaaee3e399e4620dc201692d253f334" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* 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="a00186_source.html#l00121">121</a> of file <a class="el" href="a00186_source.html">keydata.h</a>.</p> </div> </div> <a class="anchor" id="a70ae6fd1e1f0208efda645d59fd172c2"></a><!-- doxytag: member="keydata::get" ref="a70ae6fd1e1f0208efda645d59fd172c2" args="(const char *id) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* 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 class="params"> <tr><td class="paramname">id</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> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00002.html#a4">keydata.cpp</a>.</dd> </dl> </div> </div> <a class="anchor" id="aaaf0a17e35f1779efa321bffdd46d7bd"></a><!-- doxytag: member="keydata::operator()" ref="aaaf0a17e35f1779efa321bffdd46d7bd" args="(const char *id) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* 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 class="params"> <tr><td class="paramname">id</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="a00186_source.html#l00098">98</a> of file <a class="el" href="a00186_source.html">keydata.h</a>.</p> </div> </div> <a class="anchor" id="ab5fdce06f9e2ef0ec6c563a6e5c3464a"></a><!-- doxytag: member="keydata::set" ref="ab5fdce06f9e2ef0ec6c563a6e5c3464a" args="(const char *id, const char *value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void 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> </tr> <tr> <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 class="params"> <tr><td class="paramname">id</td><td>to set. </td></tr> <tr><td class="paramname">value</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="a00186_source.html">keydata.h</a></li> </ul> </div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a00054.html">keydata</a> </li> <li class="footer">Generated on Wed Apr 13 2011 22:39:47 for ucommon by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li> </ul> </div> </body> </html>