Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 395

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!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>Crystal Space 1.2.1: csConfigManager Class Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>csConfigManager Class Reference</h1><!-- doxytag: class="csConfigManager" --><!-- doxytag: inherits="scfImplementation2&lt; csConfigManager, iConfigManager, scfFakeInterface&lt; iConfigFile &gt; &gt;" -->A configuration manager makes a number of individual <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> objects appear to be a single configuration object.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="csutil_2cfgmgr_8h-source.html">csutil/cfgmgr.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for csConfigManager:</div>
<div class="dynsection">
<p><center><img src="classcsConfigManager__inherit__graph.png" border="0" usemap="#csConfigManager__inherit__map" alt="Inheritance graph"></center>
<map name="csConfigManager__inherit__map">
<area shape="rect" href="classscfImplementation2.html" title="scfImplementation2\&lt; csConfigManager, iConfigManager, scfFakeInterface\&lt; iConfigFile \&gt; \&gt;" alt="" coords="712,88,1325,115"><area shape="rect" href="classscfImplementation.html" title="scfImplementation\&lt; csConfigManager \&gt;" alt="" coords="379,37,664,64"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="5,37,61,64"><area shape="rect" href="structiConfigFile.html" title="Configuration file interface." alt="" coords="177,88,263,115"><area shape="rect" href="classCS_1_1Memory_1_1CustomAllocated.html" title="Class that overrides operator new/operator delete/etc." alt="" coords="109,37,331,64"><area shape="rect" href="structiConfigManager.html" title="The configuration manager is used to make a number of iConfigFile object appear like..." alt="" coords="460,88,583,115"><area shape="rect" href="classscfFakeInterface.html" title="scfFakeInterface\&lt; iConfigFile \&gt;" alt="" coords="411,139,632,165"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classcsConfigManager-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiConfigFile.html">iConfigFile</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#0fe8f7d62c68689709dae8e6059b7c42">AddDomain</a> (char const *path, <a class="el" href="structiVFS.html">iVFS</a> *, int priority)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a configuration domain by loading it from a file.  <a href="#0fe8f7d62c68689709dae8e6059b7c42"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#47da80cc93d6e9b2b4adf03f3eee26a0">AddDomain</a> (<a class="el" href="structiConfigFile.html">iConfigFile</a> *, int priority)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a configuration domain.  <a href="#47da80cc93d6e9b2b4adf03f3eee26a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#75a85fccc7c8463eea3f77285ab7771c">CleanUp</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classcsConfigManager.html#b7127f51c0262fbf11af9585c3c06e0c" title="flush all removed configuration files (only required in optimize mode)">FlushRemoved()</a> and delete all domains.  <a href="#75a85fccc7c8463eea3f77285ab7771c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#a51eeb8b4e982982415ac9eb22c08d76">Clear</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete all options and rewind all iterators.  <a href="#a51eeb8b4e982982415ac9eb22c08d76"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#b9daaf0fac63c905cd42042b9b4c6fa4">csConfigManager</a> (<a class="el" href="structiConfigFile.html">iConfigFile</a> *DynamicDomain=0, bool Optimize=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new config manager object.  <a href="#b9daaf0fac63c905cd42042b9b4c6fa4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#c8640d8d593c3ab536c719586f8230d7">DeleteKey</a> (const char *Key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a key and its value and comment.  <a href="#c8640d8d593c3ab536c719586f8230d7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiConfigIterator.html">iConfigIterator</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#66bde9b69b3e3714da2117bf50c1a5ac">Enumerate</a> (const char *Subsection=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enumerate selected keys.  <a href="#66bde9b69b3e3714da2117bf50c1a5ac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#b7127f51c0262fbf11af9585c3c06e0c">FlushRemoved</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">flush all removed configuration files (only required in optimize mode)  <a href="#b7127f51c0262fbf11af9585c3c06e0c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#6003e122a296f33f6b4e3245dd8d6b33">GetBool</a> (const char *Key, bool Def=false) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a boolean value from the configuration.  <a href="#6003e122a296f33f6b4e3245dd8d6b33"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#2263fc09ea3d390f4f9e16d31eaf20c7">GetComment</a> (const char *Key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the comment of the given key, or 0 if no comment exists.  <a href="#2263fc09ea3d390f4f9e16d31eaf20c7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#0f48f80ec9a6b32476e888338c44be27">GetDomainPriority</a> (<a class="el" href="structiConfigFile.html">iConfigFile</a> *) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the priority of a configuration domain.  <a href="#0f48f80ec9a6b32476e888338c44be27"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#3ea05d2219de666e3e218cc3804bde0a">GetDomainPriority</a> (char const *path) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the priority of a configuration domain.  <a href="#3ea05d2219de666e3e218cc3804bde0a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiConfigFile.html">iConfigFile</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#4152c3c70fcb81392a5fc4ec370220b5">GetDynamicDomain</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a pointer to the dynamic configuration domain.  <a href="#4152c3c70fcb81392a5fc4ec370220b5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#232720ae96151589c00e863924fa64fc">GetDynamicDomainPriority</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the priority of the dynamic configuration domain.  <a href="#232720ae96151589c00e863924fa64fc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#df43c1c4f98087fed67aee01502c7c8c">GetEOFComment</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the final comment at the end of the configuration file  <a href="#df43c1c4f98087fed67aee01502c7c8c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#31a46dac93e7f3a9190a6a0e0b424a30">GetFileName</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get configuration file name.  <a href="#31a46dac93e7f3a9190a6a0e0b424a30"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#69782c101de26a1fa598a5a5830b9fcf">GetFloat</a> (const char *Key, float Def=0.0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a float value from the configuration.  <a href="#69782c101de26a1fa598a5a5830b9fcf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#67470c925b07d4469680ffdad199455e">GetInt</a> (const char *Key, int Def=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an integer value from the configuration.  <a href="#67470c925b07d4469680ffdad199455e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#4bfd6c4ca39f2ec5ce6a941fb1630ed0">GetStr</a> (const char *Key, const char *Def=&quot;&quot;) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a string value from the configuration.  <a href="#4bfd6c4ca39f2ec5ce6a941fb1630ed0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiStringArray.html">iStringArray</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#348dd014b63d070b4831fdc9c10752fb">GetTuple</a> (const char *Key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a tuple set from the configuration.  <a href="#348dd014b63d070b4831fdc9c10752fb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiVFS.html">iVFS</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#01533cbf344521a52416e9291078e899">GetVFS</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the VFS object on which this file is stored (if any).  <a href="#01533cbf344521a52416e9291078e899"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#91352d7ea638f75d73a0ce0221b7e87d">KeyExists</a> (const char *Key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if a key exists.  <a href="#91352d7ea638f75d73a0ce0221b7e87d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#5158ef512339b5e9575a1cb64d3c6c5f">Load</a> (const char *iFileName, <a class="el" href="structiVFS.html">iVFS</a> *=0, bool Merge=false, bool NewWins=true)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a configuration file.  <a href="#5158ef512339b5e9575a1cb64d3c6c5f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiConfigFile.html">iConfigFile</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#341037a76d70a36b11c9a0fde3d3ad1e">LookupDomain</a> (char const *path) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> object for a registered domain.  <a href="#341037a76d70a36b11c9a0fde3d3ad1e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#3c344e214e7d165093e8e2c2efc88938">RemoveDomain</a> (char const *path)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a configuration domain.  <a href="#3c344e214e7d165093e8e2c2efc88938"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#46a24760cdb222ae3ed516f50dba25c0">RemoveDomain</a> (<a class="el" href="structiConfigFile.html">iConfigFile</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a configuration domain.  <a href="#46a24760cdb222ae3ed516f50dba25c0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#80188416d87ffbf8d9faa1b8fd6a45e2">Save</a> (const char *iFileName, <a class="el" href="structiVFS.html">iVFS</a> *=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save configuration into the given file (on VFS or on the physical filesystem).  <a href="#80188416d87ffbf8d9faa1b8fd6a45e2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#b5620127a13b1c60a4603ba4f27ab3eb">Save</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save configuration to the same place from which it was loaded.  <a href="#b5620127a13b1c60a4603ba4f27ab3eb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#10cbf77476a9c74ee5cef05c26b6032d">SetBool</a> (const char *Key, bool Value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a boolean value.  <a href="#10cbf77476a9c74ee5cef05c26b6032d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#50bf933b3e7aba73d0ac04342d7e6b4e">SetComment</a> (const char *Key, const char *Text)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the comment for given key.  <a href="#50bf933b3e7aba73d0ac04342d7e6b4e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#94afd22aa29b0928545f9428ac47ae4d">SetDomainPriority</a> (<a class="el" href="structiConfigFile.html">iConfigFile</a> *, int priority)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the priority of a registered configuration domain.  <a href="#94afd22aa29b0928545f9428ac47ae4d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#50d788758f897fd0a71fc42fdf3f5bc7">SetDomainPriority</a> (char const *path, int priority)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the priority of a configuration domain.  <a href="#50d788758f897fd0a71fc42fdf3f5bc7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#fadc1e9ee19e0dcb7b4efef9e777cea3">SetDynamicDomain</a> (<a class="el" href="structiConfigFile.html">iConfigFile</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the dynamic domain.  <a href="#fadc1e9ee19e0dcb7b4efef9e777cea3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#6cd239c1438407c2b828373eac69800b">SetDynamicDomainPriority</a> (int priority)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the priority of the dynamic configuration domain.  <a href="#6cd239c1438407c2b828373eac69800b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#8c4c0778e68ba0f70aeeb55989c5f0fa">SetEOFComment</a> (const char *Text)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the final comment at the end of the configuration file  <a href="#8c4c0778e68ba0f70aeeb55989c5f0fa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#a8700665dd09fdcb4a8edc2a4912824d">SetFileName</a> (const char *, <a class="el" href="structiVFS.html">iVFS</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set config file name.  <a href="#a8700665dd09fdcb4a8edc2a4912824d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#da3678e8079e9a373e6de96811d612c2">SetFloat</a> (const char *Key, float Value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a floating-point value.  <a href="#da3678e8079e9a373e6de96811d612c2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#b2d65559e0177a8c29127832b84d3cd9">SetInt</a> (const char *Key, int Value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an integer value.  <a href="#b2d65559e0177a8c29127832b84d3cd9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#2c0fb4d6d7a655fc0302e1dee7144382">SetStr</a> (const char *Key, const char *Val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an null-terminated string value.  <a href="#2c0fb4d6d7a655fc0302e1dee7144382"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#0de1198c43549d45dba285ece4205cda">SetTuple</a> (const char *Key, <a class="el" href="structiStringArray.html">iStringArray</a> *Value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a tuple value.  <a href="#0de1198c43549d45dba285ece4205cda"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#d556dc1ee845539a41afd4e57751a49c">SubsectionExists</a> (const char *Subsection) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if at least one key exists with the given Subsection prefix.  <a href="#d556dc1ee845539a41afd4e57751a49c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#8aab810e2911a628b8770fe703e10f05">~csConfigManager</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy configuration manager.  <a href="#8aab810e2911a628b8770fe703e10f05"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d7255606f41886727310689b5f8de04a"></a><!-- doxytag: member="csConfigManager::csConfigManagerIterator" ref="d7255606f41886727310689b5f8de04a" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConfigManager.html#d7255606f41886727310689b5f8de04a">csConfigManagerIterator</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A configuration manager makes a number of individual <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> objects appear to be a single configuration object. 
<p>
See the description of the <a class="el" href="structiConfigManager.html" title="The configuration manager is used to make a number of iConfigFile object appear like...">iConfigManager</a> interface for full details. 
<p>Definition at line <a class="el" href="csutil_2cfgmgr_8h-source.html#l00040">40</a> of file <a class="el" href="csutil_2cfgmgr_8h-source.html">cfgmgr.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="b9daaf0fac63c905cd42042b9b4c6fa4"></a><!-- doxytag: member="csConfigManager::csConfigManager" ref="b9daaf0fac63c905cd42042b9b4c6fa4" args="(iConfigFile *DynamicDomain=0, bool Optimize=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csConfigManager::csConfigManager           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiConfigFile.html">iConfigFile</a> *&nbsp;</td>
          <td class="paramname"> <em>DynamicDomain</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>Optimize</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a new config manager object. 
<p>
If 'Optimize' is set to 'true', then the configuration manager will enable some optimizations, which you may or may not want:<ul>
<li>When an <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> is added via AddDomain(name, vfs), the configuration manager first looks through all registered <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> objects. If an object with the same name and VFS pointer are found, it is added a second time, so the file is not loaded twice.</li><li>When an <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> is removed, the configuration manager keeps a reference to it until Flush() is called. If you add the <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> again in the meantime with AddDomain(name, vfs), this reference is used instead. </li></ul>

</div>
</div><p>
<a class="anchor" name="8aab810e2911a628b8770fe703e10f05"></a><!-- doxytag: member="csConfigManager::~csConfigManager" ref="8aab810e2911a628b8770fe703e10f05" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual csConfigManager::~csConfigManager           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy configuration manager. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="0fe8f7d62c68689709dae8e6059b7c42"></a><!-- doxytag: member="csConfigManager::AddDomain" ref="0fe8f7d62c68689709dae8e6059b7c42" args="(char const *path, iVFS *, int priority)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiConfigFile.html">iConfigFile</a>* csConfigManager::AddDomain           </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiVFS.html">iVFS</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>priority</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a configuration domain by loading it from a file. 
<p>
The new <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> object which represents the loaded file is also returned. If you want to hold onto the <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> even after it is removed from this object or after the configuration manager is destroyed, be sure to invoke <a class="el" href="classscfImplementation.html#821518e0247da63ba7c6e60fc98dce19" title="Increment the number of references to this object.">IncRef()</a> or assign it to a csRef&lt;&gt;. The incoming iVFS* may be null, in which case the path is assumed to point at a file in the pyhysical filesystem, rather than at a file in the virtual filesystem. 
<p>Implements <a class="el" href="structiConfigManager.html#f2e9c4b81e5f192067111be15405f3af">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="47da80cc93d6e9b2b4adf03f3eee26a0"></a><!-- doxytag: member="csConfigManager::AddDomain" ref="47da80cc93d6e9b2b4adf03f3eee26a0" args="(iConfigFile *, int priority)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::AddDomain           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiConfigFile.html">iConfigFile</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>priority</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a configuration domain. 
<p>
The configuration manager invokes <a class="el" href="classscfImplementation.html#821518e0247da63ba7c6e60fc98dce19" title="Increment the number of references to this object.">IncRef()</a> upon the incoming <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a>. 
<p>Implements <a class="el" href="structiConfigManager.html#38c9859cee5430105f30496ed83e0b61">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="75a85fccc7c8463eea3f77285ab7771c"></a><!-- doxytag: member="csConfigManager::CleanUp" ref="75a85fccc7c8463eea3f77285ab7771c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csConfigManager::CleanUp           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classcsConfigManager.html#b7127f51c0262fbf11af9585c3c06e0c" title="flush all removed configuration files (only required in optimize mode)">FlushRemoved()</a> and delete all domains. 
<p>

</div>
</div><p>
<a class="anchor" name="a51eeb8b4e982982415ac9eb22c08d76"></a><!-- doxytag: member="csConfigManager::Clear" ref="a51eeb8b4e982982415ac9eb22c08d76" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::Clear           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Delete all options and rewind all iterators. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#2f9ffafeb0fb141317ccd4bcdf27a4c5">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="c8640d8d593c3ab536c719586f8230d7"></a><!-- doxytag: member="csConfigManager::DeleteKey" ref="c8640d8d593c3ab536c719586f8230d7" args="(const char *Key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::DeleteKey           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Delete a key and its value and comment. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#be5a3cd2a0008b2b1a1d0bf6fadf26c3">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="66bde9b69b3e3714da2117bf50c1a5ac"></a><!-- doxytag: member="csConfigManager::Enumerate" ref="66bde9b69b3e3714da2117bf50c1a5ac" args="(const char *Subsection=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiConfigIterator.html">iConfigIterator</a>&gt; csConfigManager::Enumerate           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Subsection</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Enumerate selected keys. 
<p>
If a subsection is given, only those keys which are prefixed by the subsection string will be enumerated. The returned iterator does not yet point to a valid key. You must call Next() to set it to the first key. 
<p>Implements <a class="el" href="structiConfigFile.html#b7c4701d439cecfa848ee2d2d3069b53">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="b7127f51c0262fbf11af9585c3c06e0c"></a><!-- doxytag: member="csConfigManager::FlushRemoved" ref="b7127f51c0262fbf11af9585c3c06e0c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::FlushRemoved           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
flush all removed configuration files (only required in optimize mode) 
<p>

<p>Implements <a class="el" href="structiConfigManager.html#05f0057857b450bfd469d32a56eb7a57">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="6003e122a296f33f6b4e3245dd8d6b33"></a><!-- doxytag: member="csConfigManager::GetBool" ref="6003e122a296f33f6b4e3245dd8d6b33" args="(const char *Key, bool Def=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csConfigManager::GetBool           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>Def</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a boolean value from the configuration. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#571a6754e0628698e00939db8e978aab">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="2263fc09ea3d390f4f9e16d31eaf20c7"></a><!-- doxytag: member="csConfigManager::GetComment" ref="2263fc09ea3d390f4f9e16d31eaf20c7" args="(const char *Key) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* csConfigManager::GetComment           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the comment of the given key, or 0 if no comment exists. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#1340a49a3b842a014efddfee86046b24">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="0f48f80ec9a6b32476e888338c44be27"></a><!-- doxytag: member="csConfigManager::GetDomainPriority" ref="0f48f80ec9a6b32476e888338c44be27" args="(iConfigFile *) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int csConfigManager::GetDomainPriority           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiConfigFile.html">iConfigFile</a> *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the priority of a configuration domain. 
<p>
If the domain is not registered, PriorityMedium is returned. 
<p>Implements <a class="el" href="structiConfigManager.html#e925a10ae6140ea20e2ddb37c8ab2f89">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="3ea05d2219de666e3e218cc3804bde0a"></a><!-- doxytag: member="csConfigManager::GetDomainPriority" ref="3ea05d2219de666e3e218cc3804bde0a" args="(char const *path) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int csConfigManager::GetDomainPriority           </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>path</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the priority of a configuration domain. 
<p>
If the domain is not registered, PriorityMedium is returned. 
<p>Implements <a class="el" href="structiConfigManager.html#9565a51ea7e9cb94e1c7c16e8b233058">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="4152c3c70fcb81392a5fc4ec370220b5"></a><!-- doxytag: member="csConfigManager::GetDynamicDomain" ref="4152c3c70fcb81392a5fc4ec370220b5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiConfigFile.html">iConfigFile</a>* csConfigManager::GetDynamicDomain           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a pointer to the dynamic configuration domain. 
<p>
The returned pointer will remain valid as long as the domain is registered with the configuration manager. 
<p>Implements <a class="el" href="structiConfigManager.html#0c7f32314629cb508a23ecdc7ab077ed">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="232720ae96151589c00e863924fa64fc"></a><!-- doxytag: member="csConfigManager::GetDynamicDomainPriority" ref="232720ae96151589c00e863924fa64fc" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int csConfigManager::GetDynamicDomainPriority           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the priority of the dynamic configuration domain. 
<p>

<p>Implements <a class="el" href="structiConfigManager.html#c4a90dc6a128b6bcf4a3fe0bf675e08c">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="df43c1c4f98087fed67aee01502c7c8c"></a><!-- doxytag: member="csConfigManager::GetEOFComment" ref="df43c1c4f98087fed67aee01502c7c8c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* csConfigManager::GetEOFComment           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
return the final comment at the end of the configuration file 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#db1a8f5c2ac5fdcce859df5538a4d654">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="31a46dac93e7f3a9190a6a0e0b424a30"></a><!-- doxytag: member="csConfigManager::GetFileName" ref="31a46dac93e7f3a9190a6a0e0b424a30" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* csConfigManager::GetFileName           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get configuration file name. 
<p>
Also consult <a class="el" href="classcsConfigManager.html#01533cbf344521a52416e9291078e899" title="Get the VFS object on which this file is stored (if any).">GetVFS()</a> to determine which (if any) VFS object was used for the file's storage. 
<p>Implements <a class="el" href="structiConfigFile.html#2183db4f11cdcaf8b9dd8b92618585e6">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="69782c101de26a1fa598a5a5830b9fcf"></a><!-- doxytag: member="csConfigManager::GetFloat" ref="69782c101de26a1fa598a5a5830b9fcf" args="(const char *Key, float Def=0.0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual float csConfigManager::GetFloat           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>Def</em> = <code>0.0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a float value from the configuration. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#c829e1af3a2a530eef875a969c9b24ac">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="67470c925b07d4469680ffdad199455e"></a><!-- doxytag: member="csConfigManager::GetInt" ref="67470c925b07d4469680ffdad199455e" args="(const char *Key, int Def=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int csConfigManager::GetInt           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>Def</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get an integer value from the configuration. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#058ef45008514b8fab06e5b3bf126238">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="4bfd6c4ca39f2ec5ce6a941fb1630ed0"></a><!-- doxytag: member="csConfigManager::GetStr" ref="4bfd6c4ca39f2ec5ce6a941fb1630ed0" args="(const char *Key, const char *Def=&quot;&quot;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* csConfigManager::GetStr           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Def</em> = <code>&quot;&quot;</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a string value from the configuration. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#f1907f764a4fd50addec669a214491a6">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="348dd014b63d070b4831fdc9c10752fb"></a><!-- doxytag: member="csConfigManager::GetTuple" ref="348dd014b63d070b4831fdc9c10752fb" args="(const char *Key) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiStringArray.html">iStringArray</a>&gt; csConfigManager::GetTuple           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a tuple set from the configuration. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#502760e45145e28b475c9217399c39a3">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="01533cbf344521a52416e9291078e899"></a><!-- doxytag: member="csConfigManager::GetVFS" ref="01533cbf344521a52416e9291078e899" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiVFS.html">iVFS</a>* csConfigManager::GetVFS           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the VFS object on which this file is stored (if any). 
<p>
Returns 0 if this file resides within the real (non-VFS) filesystem. 
<p>Implements <a class="el" href="structiConfigFile.html#6d13df20f0442c1fbf65f59e4daac67a">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="91352d7ea638f75d73a0ce0221b7e87d"></a><!-- doxytag: member="csConfigManager::KeyExists" ref="91352d7ea638f75d73a0ce0221b7e87d" args="(const char *Key) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csConfigManager::KeyExists           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if a key exists. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#ea44c9e9825898dffa3024247e247e6f">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="5158ef512339b5e9575a1cb64d3c6c5f"></a><!-- doxytag: member="csConfigManager::Load" ref="5158ef512339b5e9575a1cb64d3c6c5f" args="(const char *iFileName, iVFS *=0, bool Merge=false, bool NewWins=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csConfigManager::Load           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>iFileName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiVFS.html">iVFS</a> *&nbsp;</td>
          <td class="paramname"> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>Merge</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>NewWins</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a configuration file. 
<p>
If the file resides in a real filesystem, rather than a VFS filesystem, then pass 0 for the VFS argument. This will clear all options before loading the new options, even if the file cannot be opened. <p>
You can set the Merge flag to merge the newly loaded configuration information into the existing information. If you do so, nothing will happen if the named file doesn't exist. The NewWins flag determines the behavior in case of configuration key conflicts. If true, then the new configuration value replaces the old for that key. If false, then the old value is kept, and the new value is ignored. The recorded file name will be set to the name of the newly loaded file if the Merge flag is false; otherwise it will retain the old name. 
<p>Implements <a class="el" href="structiConfigFile.html#0b1a3f6ebd3ccaa9be019fb616156ad7">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="341037a76d70a36b11c9a0fde3d3ad1e"></a><!-- doxytag: member="csConfigManager::LookupDomain" ref="341037a76d70a36b11c9a0fde3d3ad1e" args="(char const *path) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiConfigFile.html">iConfigFile</a>* csConfigManager::LookupDomain           </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>path</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find the <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> object for a registered domain. 
<p>
Returns null if the domain is not registered. 
<p>Implements <a class="el" href="structiConfigManager.html#b64fecc581b48307ee6fe808282bb8e9">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="3c344e214e7d165093e8e2c2efc88938"></a><!-- doxytag: member="csConfigManager::RemoveDomain" ref="3c344e214e7d165093e8e2c2efc88938" args="(char const *path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::RemoveDomain           </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>path</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a configuration domain. 
<p>

<p>Implements <a class="el" href="structiConfigManager.html#9d0c9ffda43825b08df7f26777feac2e">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="46a24760cdb222ae3ed516f50dba25c0"></a><!-- doxytag: member="csConfigManager::RemoveDomain" ref="46a24760cdb222ae3ed516f50dba25c0" args="(iConfigFile *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::RemoveDomain           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiConfigFile.html">iConfigFile</a> *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a configuration domain. 
<p>
If registered, the configuration manager will relinquish its reference to the domain by invoking <a class="el" href="classscfImplementation.html#9b996efbd8891c74a46f2c6705b56f89" title="Decrement the reference count.">DecRef()</a> on it to balance the <a class="el" href="classscfImplementation.html#821518e0247da63ba7c6e60fc98dce19" title="Increment the number of references to this object.">IncRef()</a> it performed when the domain was added. If the domain is not registered, the <a class="el" href="classcsConfigManager.html#46a24760cdb222ae3ed516f50dba25c0" title="Remove a configuration domain.">RemoveDomain()</a> request is ignored. It is not legal to remove the dynamic domain. 
<p>Implements <a class="el" href="structiConfigManager.html#cce61292e4db86ab9c9964bb5fe4ddd8">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="80188416d87ffbf8d9faa1b8fd6a45e2"></a><!-- doxytag: member="csConfigManager::Save" ref="80188416d87ffbf8d9faa1b8fd6a45e2" args="(const char *iFileName, iVFS *=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csConfigManager::Save           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>iFileName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiVFS.html">iVFS</a> *&nbsp;</td>
          <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Save configuration into the given file (on VFS or on the physical filesystem). 
<p>
If the <a class="el" href="structiVFS.html" title="The Virtual Filesystem Class is intended to be the only way for Crystal Space engine...">iVFS</a> parameter is null, the file will be written to the physical filesystem, otherwise it is stored on given VFS filesystem. This method does not change the internally stored file name. 
<p>Implements <a class="el" href="structiConfigFile.html#cf862ed68d57a0e307e059ac049b8202">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="b5620127a13b1c60a4603ba4f27ab3eb"></a><!-- doxytag: member="csConfigManager::Save" ref="b5620127a13b1c60a4603ba4f27ab3eb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csConfigManager::Save           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Save configuration to the same place from which it was loaded. 
<p>
Returns true if the save operation succeeded, else false. 
<p>Implements <a class="el" href="structiConfigFile.html#e1a3711352a01b8e5611fb6d0d58a351">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="10cbf77476a9c74ee5cef05c26b6032d"></a><!-- doxytag: member="csConfigManager::SetBool" ref="10cbf77476a9c74ee5cef05c26b6032d" args="(const char *Key, bool Value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::SetBool           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>Value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a boolean value. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#075259cdd90c949538041f6bd0d98722">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="50bf933b3e7aba73d0ac04342d7e6b4e"></a><!-- doxytag: member="csConfigManager::SetComment" ref="50bf933b3e7aba73d0ac04342d7e6b4e" args="(const char *Key, const char *Text)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csConfigManager::SetComment           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Text</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the comment for given key. 
<p>
In addition to an actual comment, you can use "" for Text to place an empty comment line before this key, or 0 to remove the comment entirely. The comment may contain newline characters. Returns false if the key does not exist. 
<p>Implements <a class="el" href="structiConfigFile.html#0c6dd11917647182fb9632264e588c42">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="94afd22aa29b0928545f9428ac47ae4d"></a><!-- doxytag: member="csConfigManager::SetDomainPriority" ref="94afd22aa29b0928545f9428ac47ae4d" args="(iConfigFile *, int priority)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::SetDomainPriority           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiConfigFile.html">iConfigFile</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>priority</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the priority of a registered configuration domain. 
<p>
If the domain is not registered, the request is ignored. 
<p>Implements <a class="el" href="structiConfigManager.html#44b549eba61bf4b67ddd1bcf1bc17c75">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="50d788758f897fd0a71fc42fdf3f5bc7"></a><!-- doxytag: member="csConfigManager::SetDomainPriority" ref="50d788758f897fd0a71fc42fdf3f5bc7" args="(char const *path, int priority)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::SetDomainPriority           </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>priority</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the priority of a configuration domain. 
<p>

<p>Implements <a class="el" href="structiConfigManager.html#bc3935c16447bc824f63b3965127ba49">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="fadc1e9ee19e0dcb7b4efef9e777cea3"></a><!-- doxytag: member="csConfigManager::SetDynamicDomain" ref="fadc1e9ee19e0dcb7b4efef9e777cea3" args="(iConfigFile *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csConfigManager::SetDynamicDomain           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiConfigFile.html">iConfigFile</a> *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Change the dynamic domain. 
<p>
The domain must already have been registered with <a class="el" href="classcsConfigManager.html#47da80cc93d6e9b2b4adf03f3eee26a0" title="Add a configuration domain.">AddDomain()</a> before calling this method. If the domain is not registered, then false is returned. 
<p>Implements <a class="el" href="structiConfigManager.html#88aa2f5b6f581788e1c3b695811cfd50">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="6cd239c1438407c2b828373eac69800b"></a><!-- doxytag: member="csConfigManager::SetDynamicDomainPriority" ref="6cd239c1438407c2b828373eac69800b" args="(int priority)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::SetDynamicDomainPriority           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>priority</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the priority of the dynamic configuration domain. 
<p>

<p>Implements <a class="el" href="structiConfigManager.html#4b423182a5bd39f6764eff2fa500bf27">iConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="8c4c0778e68ba0f70aeeb55989c5f0fa"></a><!-- doxytag: member="csConfigManager::SetEOFComment" ref="8c4c0778e68ba0f70aeeb55989c5f0fa" args="(const char *Text)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::SetEOFComment           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Text</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set the final comment at the end of the configuration file 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#0ed1957a7cdd5b9de17c92dd4b7d2a82">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="a8700665dd09fdcb4a8edc2a4912824d"></a><!-- doxytag: member="csConfigManager::SetFileName" ref="a8700665dd09fdcb4a8edc2a4912824d" args="(const char *, iVFS *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::SetFileName           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiVFS.html">iVFS</a> *&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set config file name. 
<p>
You can use this if you want <a class="el" href="classcsConfigManager.html#b5620127a13b1c60a4603ba4f27ab3eb" title="Save configuration to the same place from which it was loaded.">Save()</a> to write to another file. The incoming <a class="el" href="structiVFS.html" title="The Virtual Filesystem Class is intended to be the only way for Crystal Space engine...">iVFS</a> can be null, in which case the filename represents a file in the physical fileysstem. This will set the dirty flag. 
<p>Implements <a class="el" href="structiConfigFile.html#020ae0fa1c3ce264bd46ed90561c4dbd">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="da3678e8079e9a373e6de96811d612c2"></a><!-- doxytag: member="csConfigManager::SetFloat" ref="da3678e8079e9a373e6de96811d612c2" args="(const char *Key, float Value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::SetFloat           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>Value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a floating-point value. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#d6fddd5fd6223bd179c1da1f101464a6">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="b2d65559e0177a8c29127832b84d3cd9"></a><!-- doxytag: member="csConfigManager::SetInt" ref="b2d65559e0177a8c29127832b84d3cd9" args="(const char *Key, int Value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::SetInt           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>Value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set an integer value. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#16d2d2c324f71e232fd86ccc42b678f0">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="2c0fb4d6d7a655fc0302e1dee7144382"></a><!-- doxytag: member="csConfigManager::SetStr" ref="2c0fb4d6d7a655fc0302e1dee7144382" args="(const char *Key, const char *Val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::SetStr           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set an null-terminated string value. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#98cd57c950aa067f5ffa51e7b22a8f6e">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="0de1198c43549d45dba285ece4205cda"></a><!-- doxytag: member="csConfigManager::SetTuple" ref="0de1198c43549d45dba285ece4205cda" args="(const char *Key, iStringArray *Value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csConfigManager::SetTuple           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiStringArray.html">iStringArray</a> *&nbsp;</td>
          <td class="paramname"> <em>Value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a tuple value. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#5ceeff4b4cdcf00c38d1a4ed7a1a92b7">iConfigFile</a>.</p>

</div>
</div><p>
<a class="anchor" name="d556dc1ee845539a41afd4e57751a49c"></a><!-- doxytag: member="csConfigManager::SubsectionExists" ref="d556dc1ee845539a41afd4e57751a49c" args="(const char *Subsection) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csConfigManager::SubsectionExists           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Subsection</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if at least one key exists with the given Subsection prefix. 
<p>

<p>Implements <a class="el" href="structiConfigFile.html#aa086cbf83a800a3e9ed9fc88740b376">iConfigFile</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>csutil/<a class="el" href="csutil_2cfgmgr_8h-source.html">cfgmgr.h</a></ul>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>