<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Class Poco::Util::LayeredConfiguration</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <meta name="author" content="Applied Informatics Software Engineering GmbH and Contributors"/> <meta name="publisher" content="Applied Informatics Software Engineering GmbH and Contributors"/> <meta name="copyright" content="Copyright (c) 2009, Applied Informatics Software Engineering GmbH and Contributors"/> <meta name="language" content="en"/> <meta name="date" content="2009-11-24"/> <meta name="generator" content="PocoDoc"/> <link rel="stylesheet" href="css/styles.css" type="text/css"/> </head> <body bgcolor="#ffffff" leftmargin="0" topmargin="0"> <div class="header"> <h1 class="namespace"><a href="Poco.Util.html" class="namespace">Poco::Util</a></h1> <h1 class="symbol">class LayeredConfiguration</h1> </div> <div class="body"> <p> <b>Library:</b> Util<br /> <b>Package:</b> Configuration<br /> <b>Header:</b> Poco/Util/LayeredConfiguration.h</p> <h2>Description</h2> <div class="description"> <p>A <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a> consists of a number of AbstractConfigurations. </p> <p>When reading a configuration property in a <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>, all added configurations are searched, in order of their priority. Configurations with lower priority values have precedence. </p> <p>When setting a property, the property is always written to the first writeable configuration (see <a href="Poco.Util.LayeredConfiguration.html#16695" title="Poco::Util::LayeredConfiguration::addWriteable()">addWriteable</a>()). If no writeable configuration has been added to the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>, and an attempt is made to set a property, a <a href="Poco.RuntimeException.html" title="class Poco::RuntimeException">RuntimeException</a> is thrown. </p> <p>Every configuration added to the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a> has a priority value. The priority determines the position where the configuration is inserted, with lower priority values coming before higher priority values. </p> <p>If no priority is specified, a priority of 0 is assumed. </p> </div> <h2>Inheritance</h2> <p><b>Direct Base Classes: </b><a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a></p> <p><b>All Base Classes: </b><a href="Poco.RefCountedObject.html" title="class Poco::RefCountedObject">Poco::RefCountedObject</a>, <a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a></p> <h2>Member Summary</h2> <p><b>Member Functions: </b><a href="Poco.Util.LayeredConfiguration.html#16678" title="Poco::Util::LayeredConfiguration::add()">add</a>, <a href="Poco.Util.LayeredConfiguration.html#16702" title="Poco::Util::LayeredConfiguration::addFront()">addFront</a>, <a href="Poco.Util.LayeredConfiguration.html#16695" title="Poco::Util::LayeredConfiguration::addWriteable()">addWriteable</a>, <a href="Poco.Util.LayeredConfiguration.html#16718" title="Poco::Util::LayeredConfiguration::enumerate()">enumerate</a>, <a href="Poco.Util.LayeredConfiguration.html#16712" title="Poco::Util::LayeredConfiguration::getRaw()">getRaw</a>, <a href="Poco.Util.LayeredConfiguration.html#16722" title="Poco::Util::LayeredConfiguration::highest()">highest</a>, <a href="Poco.Util.LayeredConfiguration.html#16723" title="Poco::Util::LayeredConfiguration::insert()">insert</a>, <a href="Poco.Util.LayeredConfiguration.html#16721" title="Poco::Util::LayeredConfiguration::lowest()">lowest</a>, <a href="Poco.Util.LayeredConfiguration.html#16715" title="Poco::Util::LayeredConfiguration::setRaw()">setRaw</a></p> <p><b>Inherited Functions: </b><a href="Poco.Util.AbstractConfiguration.html#16368" title="Poco::Util::AbstractConfiguration::createView()">createView</a>, <a href="Poco.RefCountedObject.html#9659" title="Poco::RefCountedObject::duplicate()">duplicate</a>, <a href="Poco.Util.AbstractConfiguration.html#16380" title="Poco::Util::AbstractConfiguration::enumerate()">enumerate</a>, <a href="Poco.Util.AbstractConfiguration.html#16372" title="Poco::Util::AbstractConfiguration::expand()">expand</a>, <a href="Poco.Util.AbstractConfiguration.html#16346" title="Poco::Util::AbstractConfiguration::getBool()">getBool</a>, <a href="Poco.Util.AbstractConfiguration.html#16341" title="Poco::Util::AbstractConfiguration::getDouble()">getDouble</a>, <a href="Poco.Util.AbstractConfiguration.html#16338" title="Poco::Util::AbstractConfiguration::getInt()">getInt</a>, <a href="Poco.Util.AbstractConfiguration.html#16374" title="Poco::Util::AbstractConfiguration::getRaw()">getRaw</a>, <a href="Poco.Util.AbstractConfiguration.html#16331" title="Poco::Util::AbstractConfiguration::getRawString()">getRawString</a>, <a href="Poco.Util.AbstractConfiguration.html#16326" title="Poco::Util::AbstractConfiguration::getString()">getString</a>, <a href="Poco.Util.AbstractConfiguration.html#16324" title="Poco::Util::AbstractConfiguration::hasOption()">hasOption</a>, <a href="Poco.Util.AbstractConfiguration.html#16322" title="Poco::Util::AbstractConfiguration::hasProperty()">hasProperty</a>, <a href="Poco.Util.AbstractConfiguration.html#16363" title="Poco::Util::AbstractConfiguration::keys()">keys</a>, <a href="Poco.Util.AbstractConfiguration.html#16385" title="Poco::Util::AbstractConfiguration::parseBool()">parseBool</a>, <a href="Poco.Util.AbstractConfiguration.html#16383" title="Poco::Util::AbstractConfiguration::parseInt()">parseInt</a>, <a href="Poco.RefCountedObject.html#9661" title="Poco::RefCountedObject::referenceCount()">referenceCount</a>, <a href="Poco.RefCountedObject.html#9660" title="Poco::RefCountedObject::release()">release</a>, <a href="Poco.Util.AbstractConfiguration.html#16360" title="Poco::Util::AbstractConfiguration::setBool()">setBool</a>, <a href="Poco.Util.AbstractConfiguration.html#16357" title="Poco::Util::AbstractConfiguration::setDouble()">setDouble</a>, <a href="Poco.Util.AbstractConfiguration.html#16354" title="Poco::Util::AbstractConfiguration::setInt()">setInt</a>, <a href="Poco.Util.AbstractConfiguration.html#16377" title="Poco::Util::AbstractConfiguration::setRaw()">setRaw</a>, <a href="Poco.Util.AbstractConfiguration.html#16351" title="Poco::Util::AbstractConfiguration::setString()">setString</a></p> <h2>Nested Classes</h2> <h3><a href="Poco.Util.LayeredConfiguration.ConfigItem.html" class="class">struct ConfigItem</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p> <a href="Poco.Util.LayeredConfiguration.ConfigItem.html"><img src="images/arrow.gif" alt="more..." style="vertical-align:baseline;" border="0" /> </a></p> <h2>Types</h2> <h3><a name="16707">ConfigPtr</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">typedef <a href="Poco.AutoPtr.html" title="class Poco::AutoPtr">Poco::AutoPtr</a> < <a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a> > <a href="Poco.Util.LayeredConfiguration.html#16707" title="Poco::Util::LayeredConfiguration::ConfigPtr">ConfigPtr</a>;</p> <div class="description"> <p></p> </div> <h2>Constructors</h2> <h3><a name="16677">LayeredConfiguration</a></h3> <p class="decl"><a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>();</p> <div class="description"> <p>Creates the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>. </p> </div> <h2>Destructor</h2> <h3><a name="16725">~LayeredConfiguration</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">~<a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>();</p> <div class="description"> <p></p> </div> <h2>Member Functions</h2> <h3><a name="16678">add</a></h3> <p class="decl">void add(<br /> <a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a> * pConfig<br />);</p> <div class="description"> <p>Adds a read-only configuration to the back of the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>. The <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a> does not take ownership of the given configuration. In other words, the configuration's reference count is incremented. </p> </div> <h3><a name="16680">add</a></h3> <p class="decl">void add(<br /> <a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a> * pConfig,<br /> bool shared<br />);</p> <div class="description"> <p>Adds a read-only configuration to the back of the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>. If shared is false, the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a> takes ownership of the given configuration (and the configuration's reference count remains unchanged). </p> </div> <h3><a name="16683">add</a></h3> <p class="decl">void add(<br /> <a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a> * pConfig,<br /> int priority<br />);</p> <div class="description"> <p>Adds a read-only configuration to the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>. The <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a> does not take ownership of the given configuration. In other words, the configuration's reference count is incremented. </p> </div> <h3><a name="16686">add</a></h3> <p class="decl">void add(<br /> <a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a> * pConfig,<br /> int priority,<br /> bool shared<br />);</p> <div class="description"> <p>Adds a read-only configuration the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>. If shared is false, the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a> takes ownership of the given configuration (and the configuration's reference count remains unchanged). </p> </div> <h3><a name="16690">add</a></h3> <p class="decl">void add(<br /> <a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a> * pConfig,<br /> int priority,<br /> bool writeable,<br /> bool shared<br />);</p> <div class="description"> <p>Adds a configuration to the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>. If shared is false, the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a> takes ownership of the given configuration (and the configuration's reference count remains unchanged). </p> </div> <h3><a name="16702">addFront</a></h3> <p class="decl">void addFront(<br /> <a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a> * pConfig<br />);</p> <div class="description"> <p><b>Deprecated.</b> <i>This function is deprecated and should no longer be used.</i></p> </div> <div class="description"> <p>Adds a read-only configuration to the front of the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>. The <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a> does not take ownership of the given configuration. In other words, the configuration's reference count is incremented. </p> </div> <h3><a name="16704">addFront</a></h3> <p class="decl">void addFront(<br /> <a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a> * pConfig,<br /> bool shared<br />);</p> <div class="description"> <p><b>Deprecated.</b> <i>This function is deprecated and should no longer be used.</i></p> </div> <div class="description"> <p>Adds a read-only configuration to the front of the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>. If shared is true, the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a> takes ownership of the given configuration. </p> </div> <h3><a name="16695">addWriteable</a></h3> <p class="decl">void addWriteable(<br /> <a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a> * pConfig,<br /> int priority<br />);</p> <div class="description"> <p>Adds a writeable configuration to the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>. The <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a> does not take ownership of the given configuration. In other words, the configuration's reference count is incremented. </p> </div> <h3><a name="16698">addWriteable</a></h3> <p class="decl">void addWriteable(<br /> <a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a> * pConfig,<br /> int priority,<br /> bool shared<br />);</p> <div class="description"> <p>Adds a writeable configuration to the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a>. If shared is false, the <a href="Poco.Util.LayeredConfiguration.html" title="class Poco::Util::LayeredConfiguration">LayeredConfiguration</a> takes ownership of the given configuration (and the configuration's reference count remains unchanged). </p> </div> <h3><a name="16718">enumerate</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">void enumerate(<br /> const std::string & key,<br /> Keys & range<br />) const;</p> <div class="description"> <p></p> </div> <div class="description"><p><b>See also:</b> <a href="Poco.Util.AbstractConfiguration.html#16380" title="Poco::Util::AbstractConfiguration::enumerate()">Poco::Util::AbstractConfiguration::enumerate()</a></p></div> <h3><a name="16712">getRaw</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">bool getRaw(<br /> const std::string & key,<br /> std::string & value<br />) const;</p> <div class="description"> <p></p> </div> <div class="description"><p><b>See also:</b> <a href="Poco.Util.AbstractConfiguration.html#16374" title="Poco::Util::AbstractConfiguration::getRaw()">Poco::Util::AbstractConfiguration::getRaw()</a></p></div> <h3><a name="16722">highest</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">int highest() const;</p> <div class="description"> <p></p> </div> <h3><a name="16723">insert</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">void insert(<br /> const <a href="Poco.Util.LayeredConfiguration.ConfigItem.html" title="struct Poco::Util::LayeredConfiguration::ConfigItem">ConfigItem</a> & item<br />);</p> <div class="description"> <p></p> </div> <h3><a name="16721">lowest</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">int lowest() const;</p> <div class="description"> <p></p> </div> <h3><a name="16715">setRaw</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">void setRaw(<br /> const std::string & key,<br /> const std::string & value<br />);</p> <div class="description"> <p></p> </div> <div class="description"><p><b>See also:</b> <a href="Poco.Util.AbstractConfiguration.html#16377" title="Poco::Util::AbstractConfiguration::setRaw()">Poco::Util::AbstractConfiguration::setRaw()</a></p></div> <p class="footer">POCO C++ Libraries 1.3.6-all<br /> Copyright © 2009, <a href="http://pocoproject.org/" target="_blank">Applied Informatics Software Engineering GmbH and Contributors</a></p> </div> </body> </html>