// Custom includes
#include <boost/utility.hpp>
+#include <list>
#include "Parse.hh"
#include "Executor.hh"
///\name Structors and default members
///@{
- ConfigBundle();
+ ConfigBundle(); ///< root node is set to console::root()
ConfigBundle(DirectoryNode & root); ///< Set custom root node
///@}
Source & add(boost::intrusive_ptr<Source> source);
///< Add configuration source
- void parse(); ///< Parse config file
+ void parse(); ///< Parse config bundle
/**< All nodes already parsed are skipped */
- void parse(DirectoryNode & restrict); ///< Parse config file under \a restrict
+ void parse(DirectoryNode & restrict); ///< Parse config bundle under \a restrict
/**< Only nodes which are children of \a restrict are
- parsed. */
+ parsed. */
bool complete() const; ///< \c true, if all nodes have been parsed
bool parsed(GenericNode & node) const; ///< \c true. if \a node has been parsed
void reset(); ///< Reset node parse info state
/**< After a call to reset(), all information about already
parsed nodes is cleared. Calling parse() will parse the
- complete config file again. */
+ complete config bundle again. */
+
+ DirectoryNode & root() const;
+ void chroot(DirectoryNode & node);
protected:
private:
void parseInternal();
- typedef std::vector<detail::ConfigSource::ptr> Sources;
+ typedef std::list<detail::ConfigSource::ptr> Sources;
Sources sources_;
detail::RestrictedExecutor executor_;