#include <senf/Utils/Console/Config.hh>
A ConfigBundle combines several sources and parses them together, in the order they were added. Parse restrictions are applied uniformly to all sources.
// Add three configuration sources: A system configuration file, a user configuration file // and command line options senf::console::ConfigBundle conf; conf.add( senf::console::FileConfig("/etc/some.conf") ); conf.add( senf::console::FileConfig("local.conf") ); conf.add( senf::console::OptionsConfig(senf::Daemon::instance().argc(), senf::Daemon::instance().argv()) ); conf.parse();
This bundle may also be passed to other code which may use restricted parsing to parse partial information from all configuration sources.
Definition at line 62 of file Config.hh.
Public Member Functions |
|
template<class Source > | |
Source & | add (boost::intrusive_ptr< Source > source) |
Add configuration source. |
|
void | parse () |
Parse config bundle. |
|
void | parse (DirectoryNode &restrict) |
Parse config bundle under restrict. |
|
bool | complete () const |
true , if all nodes have been parsed |
|
bool | parsed (GenericNode &node) const |
true . if node has been parsed |
|
void | reset () |
Reset node parse info state. |
|
DirectoryNode & | root () const |
void | chroot (DirectoryNode &node) |
Structors and default members |
|
ConfigBundle () | |
root node is set to console::root() |
|
ConfigBundle (DirectoryNode &root) | |
Set custom root node. |
senf::console::ConfigBundle:: | ||||
ConfigBundle | () | |||
root node is set to console::root()
Definition at line 68 of file Config.cci.
senf::console::ConfigBundle:: | ||||
ConfigBundle | ( | DirectoryNode & | root | ) |
Set custom root node.
Definition at line 71 of file Config.cci.
Source & senf::console::ConfigBundle:: | ||||
add | ( | boost::intrusive_ptr< Source > | source | ) |
Add configuration source.
Definition at line 37 of file Config.cti.
void senf::console::ConfigBundle:: | ||||
chroot | ( | DirectoryNode & | node | ) |
Definition at line 98 of file Config.cci.
bool senf::console::ConfigBundle:: | ||||
complete | () | |||
true
, if all nodes have been parsed
Definition at line 75 of file Config.cci.
void senf::console::ConfigBundle:: | ||||
parse | ( | DirectoryNode & | restrict | ) |
void senf::console::ConfigBundle:: | ||||
parse | () | |||
bool senf::console::ConfigBundle:: | ||||
parsed | ( | GenericNode & | node | ) |
true
. if node has been parsed
Definition at line 81 of file Config.cci.
void senf::console::ConfigBundle:: | ||||
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 bundle again.
Definition at line 87 of file Config.cci.
senf::console::DirectoryNode & senf::console::ConfigBundle:: | ||||
root | () | |||
Definition at line 92 of file Config.cci.