<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>SWConfig class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.2.15 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </center> <hr><h1>SWConfig Class Reference</h1>The class to read and save settings using a file on disk. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="swconfig_8h-source.html">swconfig.h</a>></code> <p> <a href="class_s_w_config-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> <tr><td colspan=2><br><h2>Public Methods</h2></td></tr> <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="class_s_w_config.html#a0">SWConfig</a> (const char *ifilename)</td></tr> <tr><td> </td><td><font size=-1><em>Constructor of SWConfig.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a1" doxytag="SWConfig::~SWConfig"></a> virtual </td><td valign=bottom><b>~SWConfig</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="a2" doxytag="SWConfig::Load"></a> virtual void </td><td valign=bottom><a class="el" href="class_s_w_config.html#a2">Load</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Load from disk Load the contzent from disk.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a3" doxytag="SWConfig::Save"></a> virtual void </td><td valign=bottom><a class="el" href="class_s_w_config.html#a3">Save</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Save to disk Save the content of this config object to disk.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>virtual SWConfig & </td><td valign=bottom><a class="el" href="class_s_w_config.html#a4">operator+=</a> (SWConfig &addFrom)</td></tr> <tr><td> </td><td><font size=-1><em>Merges the values of addFrom.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>virtual ConfigEntMap & </td><td valign=bottom><a class="el" href="class_s_w_config.html#a5">operator[]</a> (const char *section)</td></tr> <tr><td> </td><td><font size=-1><em>Get a section This is an easy way to get and store config values.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr> <tr><td colspan=2><br><h2>Public Attributes</h2></td></tr> <tr><td nowrap align=right valign=top><a name="m0" doxytag="SWConfig::filename"></a> string </td><td valign=bottom><a class="el" href="class_s_w_config.html#m0">filename</a></td></tr> <tr><td> </td><td><font size=-1><em>The filename used by this SWConfig object.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="m1" doxytag="SWConfig::Sections"></a> SectionMap </td><td valign=bottom><a class="el" href="class_s_w_config.html#m1">Sections</a></td></tr> <tr><td> </td><td><font size=-1><em>Map of available sections The map of available sections.</em></font><br><br></td></tr> <tr><td colspan=2><br><h2>Private Methods</h2></td></tr> <tr><td nowrap align=right valign=top><a name="c0" doxytag="SWConfig::getline"></a> char </td><td valign=bottom><b>getline</b> (FILE *fp, string &line)</td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The class to read and save settings using a file on disk. <p> <p> Definition at line <a class="el" href="swconfig_8h-source.html#l00044">44</a> of file <a class="el" href="swconfig_8h-source.html">swconfig.h</a>.<hr><h2>Constructor & Destructor Documentation</h2> <a name="a0" doxytag="SWConfig::SWConfig"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> SWConfig::SWConfig </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const char * </td> <td class="mdname1" valign="top" nowrap> <em>ifilename</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Constructor of SWConfig. <p> <dl compact><dt><b> Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ifilename</em> </td><td> The file, which should be used for this config. </td></tr> </table> </dl> <p> Definition at line <a class="el" href="swconfig_8cpp-source.html#l00027">27</a> of file <a class="el" href="swconfig_8cpp-source.html">swconfig.cpp</a>. <p> References <a class="el" href="swconfig_8h-source.html#l00052">filename</a>, and <a class="el" href="swconfig_8cpp-source.html#l00064">Load</a>(). <p> <div class="fragment"><pre>00027 { 00028 <a class="code" href="class_s_w_config.html#m0">filename</a> = ifilename; 00029 <a class="code" href="class_s_w_config.html#a2">Load</a>(); 00030 } </pre></div> </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a name="a4" doxytag="SWConfig::operator+="></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> SWConfig & SWConfig::operator+= </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">SWConfig & </td> <td class="mdname1" valign="top" nowrap> <em>addFrom</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Merges the values of addFrom. <p> <dl compact><dt><b> Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>The</em> </td><td> config which values should be merged to this config object. Already existing values will be overwritten. </td></tr> </table> </dl> <p> Definition at line <a class="el" href="swconfig_8cpp-source.html#l00134">134</a> of file <a class="el" href="swconfig_8cpp-source.html">swconfig.cpp</a>. <p> References <a class="el" href="swconfig_8h-source.html#l00056">Sections</a>. <p> <div class="fragment"><pre>00135 { 00136 00137 SectionMap::iterator section; 00138 ConfigEntMap::iterator entry, start, end; 00139 00140 <font class="keywordflow">for</font> (section = addFrom.<a class="code" href="class_s_w_config.html#m1">Sections</a>.begin(); section != addFrom.<a class="code" href="class_s_w_config.html#m1">Sections</a>.end(); section++) { 00141 <font class="keywordflow">for</font> (entry = (*section).second.begin(); entry != (*section).second.end(); entry++) { 00142 start = <a class="code" href="class_s_w_config.html#m1">Sections</a>[section->first].lower_bound(entry->first); 00143 end = <a class="code" href="class_s_w_config.html#m1">Sections</a>[section->first].upper_bound(entry->first); 00144 <font class="keywordflow">if</font> (start != end) { 00145 <font class="keywordflow">if</font> (((++start) != end) 00146 || ((++(addFrom.<a class="code" href="class_s_w_config.html#m1">Sections</a>[section->first].lower_bound(entry->first))) != addFrom.<a class="code" href="class_s_w_config.html#m1">Sections</a>[section->first].upper_bound(entry->first))) { 00147 <font class="keywordflow">for</font> (--start; start != end; start++) { 00148 <font class="keywordflow">if</font> (!strcmp(start->second.c_str(), entry->second.c_str())) 00149 <font class="keywordflow">break</font>; 00150 } 00151 <font class="keywordflow">if</font> (start == end) 00152 <a class="code" href="class_s_w_config.html#m1">Sections</a>[(*section).first].insert(ConfigEntMap::value_type((*entry).first, (*entry).second)); 00153 } 00154 <font class="keywordflow">else</font> <a class="code" href="class_s_w_config.html#m1">Sections</a>[section->first][entry->first.c_str()] = entry->second.c_str(); 00155 } 00156 <font class="keywordflow">else</font> <a class="code" href="class_s_w_config.html#m1">Sections</a>[section->first][entry->first.c_str()] = entry->second.c_str(); 00157 } 00158 } 00159 <font class="keywordflow">return</font> *<font class="keyword">this</font>; 00160 } </pre></div> </td> </tr> </table> <a name="a5" doxytag="SWConfig::operator[]"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> ConfigEntMap & SWConfig::operator[] </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const char * </td> <td class="mdname1" valign="top" nowrap> <em>section</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Get a section This is an easy way to get and store config values. <p> The following will work:<br> <p> <div class="fragment"><pre> <a class="code" href="class_s_w_config.html">SWConfig</a> config(<font class="stringliteral">"/home/user/.setttings"</font>); config[<font class="stringliteral">"Colors"</font>][<font class="stringliteral">"Background"</font>] = <font class="stringliteral">"red"</font>; </pre></div> <p> Definition at line <a class="el" href="swconfig_8cpp-source.html#l00163">163</a> of file <a class="el" href="swconfig_8cpp-source.html">swconfig.cpp</a>. <p> References <a class="el" href="swconfig_8h-source.html#l00056">Sections</a>. <p> <div class="fragment"><pre>00163 { 00164 <font class="keywordflow">return</font> <a class="code" href="class_s_w_config.html#m1">Sections</a>[section]; 00165 } </pre></div> </td> </tr> </table> <hr>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="swconfig_8h-source.html">swconfig.h</a><li><a class="el" href="swconfig_8cpp-source.html">swconfig.cpp</a></ul> <hr><address align="right"><small>Generated on Thu Jun 20 22:13:03 2002 for The Sword Project by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.15 </small></address> </body> </html>