Sophie

Sophie

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

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: iConfigManager Struct 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>iConfigManager Struct Reference<br>
<small>
[<a class="el" href="group__util.html">Utilities</a>]</small>
</h1><!-- doxytag: class="iConfigManager" --><!-- doxytag: inherits="iConfigFile" -->The configuration manager is used to make a number of <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> object appear like a single object.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="iutil_2cfgmgr_8h-source.html">iutil/cfgmgr.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for iConfigManager:</div>
<div class="dynsection">
<p><center><img src="structiConfigManager__inherit__graph.png" border="0" usemap="#iConfigManager__inherit__map" alt="Inheritance graph"></center>
<map name="iConfigManager__inherit__map">
<area shape="rect" href="classscfImplementation2.html" title="scfImplementation2\&lt; csConfigManager, iConfigManager, scfFakeInterface\&lt; iConfigFile \&gt; \&gt;" alt="" coords="419,5,1032,32"><area shape="rect" href="structiConfigFile.html" title="Configuration file interface." alt="" coords="111,5,196,32"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="5,5,61,32"><area shape="rect" href="classcsConfigManager.html" title="A configuration manager makes a number of individual iConfigFile objects appear to..." alt="" coords="1081,5,1215,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiConfigManager-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 Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="structiConfigManager.html#b9fa3997b8fc9c6c6c9379ff11b9f682fa4e43d5e86833070e6b76cc6a9751dd">PriorityMin</a> =  -1000000000, 
<a class="el" href="structiConfigManager.html#b9fa3997b8fc9c6c6c9379ff11b9f682b786903736d4cfb287a246d96796815b">PriorityVeryLow</a> =  -100, 
<a class="el" href="structiConfigManager.html#b9fa3997b8fc9c6c6c9379ff11b9f682a2c722340f4ecd868fd5b1b03ab5a3a9">PriorityLow</a> =  -50, 
<a class="el" href="structiConfigManager.html#b9fa3997b8fc9c6c6c9379ff11b9f682bc71d75a56972be5d3fb62f768cf09ed">PriorityMedium</a> =  0, 
<br>
&nbsp;&nbsp;<a class="el" href="structiConfigManager.html#b9fa3997b8fc9c6c6c9379ff11b9f6825afd4111f4f88b332c14e6a4b9ed7426">PriorityHigh</a> =  50, 
<a class="el" href="structiConfigManager.html#b9fa3997b8fc9c6c6c9379ff11b9f68221be87588babcdc81ed097e1a617af6e">PriorityVeryHigh</a> =  100, 
<a class="el" href="structiConfigManager.html#b9fa3997b8fc9c6c6c9379ff11b9f6829d2a8a7e9bf77691690fa7403ae77d80">PriorityMax</a> =  1000000000
<br>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="structiConfigManager.html#7fa46d31064f5ce9a4ff71765d71798c6b825e3f72793f3c0865c19c5c36490d">ConfigPriorityPlugin</a> =  PriorityVeryLow, 
<a class="el" href="structiConfigManager.html#7fa46d31064f5ce9a4ff71765d71798ce68b2343991b6476e341d19f421bf7d5">ConfigPriorityApplication</a> =  PriorityLow, 
<a class="el" href="structiConfigManager.html#7fa46d31064f5ce9a4ff71765d71798c35a3c02f2fad492c60d996603a73c8fa">ConfigPriorityUserGlobal</a> =  PriorityMedium, 
<a class="el" href="structiConfigManager.html#7fa46d31064f5ce9a4ff71765d71798c89cbaf5acfb8288b01710c149075d038">ConfigPriorityUserApp</a> =  PriorityHigh, 
<br>
&nbsp;&nbsp;<a class="el" href="structiConfigManager.html#7fa46d31064f5ce9a4ff71765d71798c977b75c37cb72785e391f5fdde54b85d">ConfigPriorityCmdLine</a> =  PriorityVeryHigh
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default priority values (you may use other values if you want).  <a href="structiConfigManager.html#7fa46d31064f5ce9a4ff71765d71798c">More...</a><br></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="structiConfigManager.html#f2e9c4b81e5f192067111be15405f3af">AddDomain</a> (char const *path, <a class="el" href="structiVFS.html">iVFS</a> *, int priority)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a configuration domain by loading it from a file.  <a href="#f2e9c4b81e5f192067111be15405f3af"></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="structiConfigManager.html#38c9859cee5430105f30496ed83e0b61">AddDomain</a> (<a class="el" href="structiConfigFile.html">iConfigFile</a> *, int priority)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a configuration domain.  <a href="#38c9859cee5430105f30496ed83e0b61"></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="structiConfigManager.html#05f0057857b450bfd469d32a56eb7a57">FlushRemoved</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flush all removed configuration files (only required in optimize mode).  <a href="#05f0057857b450bfd469d32a56eb7a57"></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="structiConfigManager.html#e925a10ae6140ea20e2ddb37c8ab2f89">GetDomainPriority</a> (<a class="el" href="structiConfigFile.html">iConfigFile</a> *) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the priority of a configuration domain.  <a href="#e925a10ae6140ea20e2ddb37c8ab2f89"></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="structiConfigManager.html#9565a51ea7e9cb94e1c7c16e8b233058">GetDomainPriority</a> (char const *path) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the priority of a configuration domain.  <a href="#9565a51ea7e9cb94e1c7c16e8b233058"></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="structiConfigManager.html#0c7f32314629cb508a23ecdc7ab077ed">GetDynamicDomain</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a pointer to the dynamic configuration domain.  <a href="#0c7f32314629cb508a23ecdc7ab077ed"></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="structiConfigManager.html#c4a90dc6a128b6bcf4a3fe0bf675e08c">GetDynamicDomainPriority</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the priority of the dynamic configuration domain.  <a href="#c4a90dc6a128b6bcf4a3fe0bf675e08c"></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="structiConfigManager.html#b64fecc581b48307ee6fe808282bb8e9">LookupDomain</a> (char const *path) const =0</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="#b64fecc581b48307ee6fe808282bb8e9"></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="structiConfigManager.html#9d0c9ffda43825b08df7f26777feac2e">RemoveDomain</a> (char const *path)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a configuration domain.  <a href="#9d0c9ffda43825b08df7f26777feac2e"></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="structiConfigManager.html#cce61292e4db86ab9c9964bb5fe4ddd8">RemoveDomain</a> (<a class="el" href="structiConfigFile.html">iConfigFile</a> *)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a configuration domain.  <a href="#cce61292e4db86ab9c9964bb5fe4ddd8"></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="structiConfigManager.html#44b549eba61bf4b67ddd1bcf1bc17c75">SetDomainPriority</a> (<a class="el" href="structiConfigFile.html">iConfigFile</a> *, int priority)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the priority of a registered configuration domain.  <a href="#44b549eba61bf4b67ddd1bcf1bc17c75"></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="structiConfigManager.html#bc3935c16447bc824f63b3965127ba49">SetDomainPriority</a> (char const *path, int priority)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the priority of a configuration domain.  <a href="#bc3935c16447bc824f63b3965127ba49"></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="structiConfigManager.html#88aa2f5b6f581788e1c3b695811cfd50">SetDynamicDomain</a> (<a class="el" href="structiConfigFile.html">iConfigFile</a> *)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the dynamic domain.  <a href="#88aa2f5b6f581788e1c3b695811cfd50"></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="structiConfigManager.html#4b423182a5bd39f6764eff2fa500bf27">SetDynamicDomainPriority</a> (int priority)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the priority of the dynamic configuration domain.  <a href="#4b423182a5bd39f6764eff2fa500bf27"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The configuration manager is used to make a number of <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> object appear like a single object. 
<p>
To do this, each <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> object (also called a 'domain') is assigned a priority value. Options from config files with higher priority override or shadow options from configuration objects with lower priority. The lower priority options are still present, so if you access the lower priority <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> directly you will still find their real values. If two <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> objects use the same priority value, then one will shadow the other (but it is not possible to predict which will be the victor).<p>
One <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> object is the so-called 'dynamic' domain. When you alter a setting in the configuration manager, the change is applied to the dynamic <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> object. As a side-effect, the changed key is also removed from all objects with higher priority. The dynamic domain has always priority 0 (medium).<p>
Differences in behaviour compared to a normal configuration object are:<ul>
<li>Deleting a key will not always remove the key from the configuration completely. It will only remove the key from the dynamic <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> object and all higher-priority objects; and will thus reveal a value in a lower priority domain, if present. This also applies to the <a class="el" href="structiConfigFile.html#2f9ffafeb0fb141317ccd4bcdf27a4c5" title="Delete all options and rewind all iterators.">Clear()</a> method.</li><li>The <a class="el" href="structiConfigFile.html#0b1a3f6ebd3ccaa9be019fb616156ad7" title="Load a configuration file.">Load()</a> and <a class="el" href="structiConfigFile.html#e1a3711352a01b8e5611fb6d0d58a351" title="Save configuration to the same place from which it was loaded.">Save()</a> methods will load or save the configuration of the dynamic domain. The other domains are not affected by <a class="el" href="structiConfigFile.html#0b1a3f6ebd3ccaa9be019fb616156ad7" title="Load a configuration file.">Load()</a>; and <a class="el" href="structiConfigFile.html#e1a3711352a01b8e5611fb6d0d58a351" title="Save configuration to the same place from which it was loaded.">Save()</a> will not write any keys from other domains. (In the unlikely event that you need to load or save one of the other domains, simply access the <a class="el" href="structiConfigFile.html" title="Configuration file interface.">iConfigFile</a> object for that domain directly and invoke its <a class="el" href="structiConfigFile.html#0b1a3f6ebd3ccaa9be019fb616156ad7" title="Load a configuration file.">Load()</a> and <a class="el" href="structiConfigFile.html#e1a3711352a01b8e5611fb6d0d58a351" title="Save configuration to the same place from which it was loaded.">Save()</a> methods rather than the methods of <a class="el" href="structiConfigManager.html" title="The configuration manager is used to make a number of iConfigFile object appear like...">iConfigManager</a>.)</li><li>Iterators: If you change an option after an iterator has passed the option, it may appear again, this time with the new value. If you change the option while the iterator looks at it, you may even read it twice after this change, once with the old and once with the new value. In general it is a bad idea to change something while an iterator exists.</li></ul>
<p>
Main creators of instances implementing this interface:<ul>
<li><a class="el" href="classcsInitializer.html#61494a85e1807c790070d36f5a055f10" title="Create everything needed to get a CS application operational.">csInitializer::CreateEnvironment()</a></li><li><a class="el" href="classcsInitializer.html#21395917eb5bddf75bc91d9c94b5b8c2" title="Create the config manager.">csInitializer::CreateConfigManager()</a></li></ul>
<p>
Main ways to get pointers to this interface:<ul>
<li><a class="el" href="iutil_2objreg_8h.html#ee5a756951eeb09857882b549a563261" title="Query an interface from the registry.">csQueryRegistry()</a> </li></ul>

<p>Definition at line <a class="el" href="iutil_2cfgmgr_8h-source.html#l00077">77</a> of file <a class="el" href="iutil_2cfgmgr_8h-source.html">cfgmgr.h</a>.</p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="b9fa3997b8fc9c6c6c9379ff11b9f682"></a><!-- doxytag: member="iConfigManager::@77" ref="b9fa3997b8fc9c6c6c9379ff11b9f682" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="b9fa3997b8fc9c6c6c9379ff11b9f682fa4e43d5e86833070e6b76cc6a9751dd"></a><!-- doxytag: member="PriorityMin" ref="b9fa3997b8fc9c6c6c9379ff11b9f682fa4e43d5e86833070e6b76cc6a9751dd" args="" -->PriorityMin</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b9fa3997b8fc9c6c6c9379ff11b9f682b786903736d4cfb287a246d96796815b"></a><!-- doxytag: member="PriorityVeryLow" ref="b9fa3997b8fc9c6c6c9379ff11b9f682b786903736d4cfb287a246d96796815b" args="" -->PriorityVeryLow</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b9fa3997b8fc9c6c6c9379ff11b9f682a2c722340f4ecd868fd5b1b03ab5a3a9"></a><!-- doxytag: member="PriorityLow" ref="b9fa3997b8fc9c6c6c9379ff11b9f682a2c722340f4ecd868fd5b1b03ab5a3a9" args="" -->PriorityLow</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b9fa3997b8fc9c6c6c9379ff11b9f682bc71d75a56972be5d3fb62f768cf09ed"></a><!-- doxytag: member="PriorityMedium" ref="b9fa3997b8fc9c6c6c9379ff11b9f682bc71d75a56972be5d3fb62f768cf09ed" args="" -->PriorityMedium</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b9fa3997b8fc9c6c6c9379ff11b9f6825afd4111f4f88b332c14e6a4b9ed7426"></a><!-- doxytag: member="PriorityHigh" ref="b9fa3997b8fc9c6c6c9379ff11b9f6825afd4111f4f88b332c14e6a4b9ed7426" args="" -->PriorityHigh</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b9fa3997b8fc9c6c6c9379ff11b9f68221be87588babcdc81ed097e1a617af6e"></a><!-- doxytag: member="PriorityVeryHigh" ref="b9fa3997b8fc9c6c6c9379ff11b9f68221be87588babcdc81ed097e1a617af6e" args="" -->PriorityVeryHigh</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b9fa3997b8fc9c6c6c9379ff11b9f6829d2a8a7e9bf77691690fa7403ae77d80"></a><!-- doxytag: member="PriorityMax" ref="b9fa3997b8fc9c6c6c9379ff11b9f6829d2a8a7e9bf77691690fa7403ae77d80" args="" -->PriorityMax</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="iutil_2cfgmgr_8h-source.html#l00080">80</a> of file <a class="el" href="iutil_2cfgmgr_8h-source.html">cfgmgr.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="7fa46d31064f5ce9a4ff71765d71798c"></a><!-- doxytag: member="iConfigManager::@78" ref="7fa46d31064f5ce9a4ff71765d71798c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Default priority values (you may use other values if you want). 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="7fa46d31064f5ce9a4ff71765d71798c6b825e3f72793f3c0865c19c5c36490d"></a><!-- doxytag: member="ConfigPriorityPlugin" ref="7fa46d31064f5ce9a4ff71765d71798c6b825e3f72793f3c0865c19c5c36490d" args="" -->ConfigPriorityPlugin</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="7fa46d31064f5ce9a4ff71765d71798ce68b2343991b6476e341d19f421bf7d5"></a><!-- doxytag: member="ConfigPriorityApplication" ref="7fa46d31064f5ce9a4ff71765d71798ce68b2343991b6476e341d19f421bf7d5" args="" -->ConfigPriorityApplication</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="7fa46d31064f5ce9a4ff71765d71798c35a3c02f2fad492c60d996603a73c8fa"></a><!-- doxytag: member="ConfigPriorityUserGlobal" ref="7fa46d31064f5ce9a4ff71765d71798c35a3c02f2fad492c60d996603a73c8fa" args="" -->ConfigPriorityUserGlobal</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="7fa46d31064f5ce9a4ff71765d71798c89cbaf5acfb8288b01710c149075d038"></a><!-- doxytag: member="ConfigPriorityUserApp" ref="7fa46d31064f5ce9a4ff71765d71798c89cbaf5acfb8288b01710c149075d038" args="" -->ConfigPriorityUserApp</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="7fa46d31064f5ce9a4ff71765d71798c977b75c37cb72785e391f5fdde54b85d"></a><!-- doxytag: member="ConfigPriorityCmdLine" ref="7fa46d31064f5ce9a4ff71765d71798c977b75c37cb72785e391f5fdde54b85d" args="" -->ConfigPriorityCmdLine</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="iutil_2cfgmgr_8h-source.html#l00092">92</a> of file <a class="el" href="iutil_2cfgmgr_8h-source.html">cfgmgr.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="f2e9c4b81e5f192067111be15405f3af"></a><!-- doxytag: member="iConfigManager::AddDomain" ref="f2e9c4b81e5f192067111be15405f3af" args="(char const *path, iVFS *, int priority)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiConfigFile.html">iConfigFile</a>* iConfigManager::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> [pure 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="structiBase.html#426a2763702fbbc33a213f849042284a" 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 physical filesystem, rather than at a file in the virtual filesystem. 
<p>Implemented in <a class="el" href="classcsConfigManager.html#0fe8f7d62c68689709dae8e6059b7c42">csConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="38c9859cee5430105f30496ed83e0b61"></a><!-- doxytag: member="iConfigManager::AddDomain" ref="38c9859cee5430105f30496ed83e0b61" args="(iConfigFile *, int priority)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iConfigManager::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> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a configuration domain. 
<p>
The configuration manager invokes <a class="el" href="structiBase.html#426a2763702fbbc33a213f849042284a" 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>Implemented in <a class="el" href="classcsConfigManager.html#47da80cc93d6e9b2b4adf03f3eee26a0">csConfigManager</a>.</p>

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

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

<p>Implemented in <a class="el" href="classcsConfigManager.html#b7127f51c0262fbf11af9585c3c06e0c">csConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="e925a10ae6140ea20e2ddb37c8ab2f89"></a><!-- doxytag: member="iConfigManager::GetDomainPriority" ref="e925a10ae6140ea20e2ddb37c8ab2f89" args="(iConfigFile *) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iConfigManager::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> [pure 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>Implemented in <a class="el" href="classcsConfigManager.html#0f48f80ec9a6b32476e888338c44be27">csConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="9565a51ea7e9cb94e1c7c16e8b233058"></a><!-- doxytag: member="iConfigManager::GetDomainPriority" ref="9565a51ea7e9cb94e1c7c16e8b233058" args="(char const *path) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iConfigManager::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> [pure 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>Implemented in <a class="el" href="classcsConfigManager.html#3ea05d2219de666e3e218cc3804bde0a">csConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="0c7f32314629cb508a23ecdc7ab077ed"></a><!-- doxytag: member="iConfigManager::GetDynamicDomain" ref="0c7f32314629cb508a23ecdc7ab077ed" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiConfigFile.html">iConfigFile</a>* iConfigManager::GetDynamicDomain           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure 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>Implemented in <a class="el" href="classcsConfigManager.html#4152c3c70fcb81392a5fc4ec370220b5">csConfigManager</a>.</p>

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

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

<p>Implemented in <a class="el" href="classcsConfigManager.html#232720ae96151589c00e863924fa64fc">csConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="b64fecc581b48307ee6fe808282bb8e9"></a><!-- doxytag: member="iConfigManager::LookupDomain" ref="b64fecc581b48307ee6fe808282bb8e9" args="(char const *path) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiConfigFile.html">iConfigFile</a>* iConfigManager::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> [pure 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>Implemented in <a class="el" href="classcsConfigManager.html#341037a76d70a36b11c9a0fde3d3ad1e">csConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="9d0c9ffda43825b08df7f26777feac2e"></a><!-- doxytag: member="iConfigManager::RemoveDomain" ref="9d0c9ffda43825b08df7f26777feac2e" args="(char const *path)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iConfigManager::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> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a configuration domain. 
<p>

<p>Implemented in <a class="el" href="classcsConfigManager.html#3c344e214e7d165093e8e2c2efc88938">csConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="cce61292e4db86ab9c9964bb5fe4ddd8"></a><!-- doxytag: member="iConfigManager::RemoveDomain" ref="cce61292e4db86ab9c9964bb5fe4ddd8" args="(iConfigFile *)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iConfigManager::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> [pure 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="structiBase.html#3a44d46ca155e6ab0c0179db01011bb0" title="Decrement the reference count.">DecRef()</a> on it to balance the <a class="el" href="structiBase.html#426a2763702fbbc33a213f849042284a" 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="structiConfigManager.html#cce61292e4db86ab9c9964bb5fe4ddd8" title="Remove a configuration domain.">RemoveDomain()</a> request is ignored. It is not legal to remove the dynamic domain. Note that if optimize is on then this removal will not take place until <a class="el" href="structiConfigManager.html#05f0057857b450bfd469d32a56eb7a57" title="Flush all removed configuration files (only required in optimize mode).">FlushRemoved()</a> is called. 
<p>Implemented in <a class="el" href="classcsConfigManager.html#46a24760cdb222ae3ed516f50dba25c0">csConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="44b549eba61bf4b67ddd1bcf1bc17c75"></a><!-- doxytag: member="iConfigManager::SetDomainPriority" ref="44b549eba61bf4b67ddd1bcf1bc17c75" args="(iConfigFile *, int priority)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iConfigManager::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> [pure 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>Implemented in <a class="el" href="classcsConfigManager.html#94afd22aa29b0928545f9428ac47ae4d">csConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="bc3935c16447bc824f63b3965127ba49"></a><!-- doxytag: member="iConfigManager::SetDomainPriority" ref="bc3935c16447bc824f63b3965127ba49" args="(char const *path, int priority)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iConfigManager::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> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Implemented in <a class="el" href="classcsConfigManager.html#50d788758f897fd0a71fc42fdf3f5bc7">csConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="88aa2f5b6f581788e1c3b695811cfd50"></a><!-- doxytag: member="iConfigManager::SetDynamicDomain" ref="88aa2f5b6f581788e1c3b695811cfd50" args="(iConfigFile *)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iConfigManager::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> [pure 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="structiConfigManager.html#38c9859cee5430105f30496ed83e0b61" title="Add a configuration domain.">AddDomain()</a> before calling this method. If the domain is not registered, then false is returned. 
<p>Implemented in <a class="el" href="classcsConfigManager.html#fadc1e9ee19e0dcb7b4efef9e777cea3">csConfigManager</a>.</p>

</div>
</div><p>
<a class="anchor" name="4b423182a5bd39f6764eff2fa500bf27"></a><!-- doxytag: member="iConfigManager::SetDynamicDomainPriority" ref="4b423182a5bd39f6764eff2fa500bf27" args="(int priority)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iConfigManager::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> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Implemented in <a class="el" href="classcsConfigManager.html#6cd239c1438407c2b828373eac69800b">csConfigManager</a>.</p>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>iutil/<a class="el" href="iutil_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>