X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FConsole%2FConfig.hh;h=412c61aaa51c8d4a5e714334aac144a5e847e02f;hb=fd3a0e8ac95d1158e9ea661ddf9187b67c70169f;hp=4ef6fb0c09b4db74b058730e6c74e9ad8e6e7e6a;hpb=958bdb52c39fa39f4ef91cafd9628bcb4f85a03c;p=senf.git diff --git a/Utils/Console/Config.hh b/Utils/Console/Config.hh index 4ef6fb0..412c61a 100644 --- a/Utils/Console/Config.hh +++ b/Utils/Console/Config.hh @@ -28,6 +28,7 @@ // Custom includes #include +#include #include "Parse.hh" #include "Executor.hh" @@ -66,7 +67,7 @@ namespace console { ///\name Structors and default members ///@{ - ConfigBundle(); + ConfigBundle(); ///< root node is set to console::root() ConfigBundle(DirectoryNode & root); ///< Set custom root node ///@} @@ -76,25 +77,28 @@ namespace console { Source & add(boost::intrusive_ptr 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 Sources; + typedef std::list Sources; Sources sources_; detail::RestrictedExecutor executor_;