|
Bredbandskollen CLI
1.2
Asynchronous network task engine
|
Read configuration from file or string. More...
#include <taskconfig.h>
Public Member Functions | |
| TaskConfig () | |
| Empty configuration. | |
| TaskConfig (std::istream &cfg_stream) | |
| Load configuration from file. | |
| TaskConfig (const std::string &cfg_text) | |
| Load configuration from string. | |
| void | add (const std::string &key, const std::string &val) |
| Add a directive to the config. | |
| void | set (const std::string &key, const std::string &val) |
| Replace value(s) of a directive with a new one. | |
| void | erase (const std::string &key) |
| Remove value(s) of a directive. | |
| void | setDefault (const std::string &key, const std::string &val) |
| Set value of a directive unless already set. | |
| void | addLine (const std::string &line) |
| Incrementally add to the config. | |
| std::multimap< std::string, std::string >::iterator | begin () |
| Start iterator to loop over the config. | |
| std::multimap< std::string, std::string >::iterator | end () |
| End iterator to loop over the config. | |
| std::multimap< std::string, std::string >::const_iterator | begin () const |
| Start const iterator to loop over the config. | |
| std::multimap< std::string, std::string >::const_iterator | end () const |
| End const iterator to loop over the config. | |
| void | workerAttributes (const std::set< std::string > &attrs) |
| Make a set of directives available to worker processes. | |
| const std::multimap< std::string, std::string > & | cfg () const |
| Return the parsed configuration. | |
| std::string | value (const std::string &key) const |
| Return value of last occurence of key, or empty string. | |
| bool | hasKey (const std::string &key) const |
| Return true if key exists, otherwise false: | |
| std::pair< std::multimap< std::string, std::string >::const_iterator, std::multimap< std::string, std::string >::const_iterator > | range (const std::string &key) const |
| Return a range of the key/value paris for the given key. | |
| void | openlog (std::ofstream &logger, bool append=false) const |
Log to the file specified by the logfile directive. More... | |
| std::set< std::string > | parseList (const std::string &category="whitelist") const |
| Split config value into non-blank strings. More... | |
| void | parseArgs (int &argc, char **&argv) |
| Parse command line arguments starting with "--": | |
| std::map< std::string, std::string > | parseKeyVal (const std::string &category="user") const |
| bool | saveJsonToFile (const std::string &filename) |
| Store contents as a JSON object. Return false on failure. | |
Static Public Member Functions | |
| static TaskConfig | load (const std::string &filename) |
| Read config from file. | |
| static TaskConfig | loadJsonFromFile (const std::string &filename) |
| Load key/value pairs from JSON object. More... | |
Read configuration from file or string.
Empty lines are ignored.
A # character means the rest of the line is a comment.
All other lines must contain a configuration directive. If the line contains a space, the directive ends at the first space, and the rest of the line is the value of the directive.
Example:
logfile /var/log/my_service.log name My Service # Will be printed in greeting message listen 80 listen 443 tls /etc/pki/tls/certs/mycert.pem /etc/pki/tls/private/mycert.pem
|
static |
Load key/value pairs from JSON object.
Values that are not strings will be ignored. Return empty object on failure.
| void TaskConfig::openlog | ( | std::ofstream & | logger, |
| bool | append = false |
||
| ) | const |
Log to the file specified by the logfile directive.
If the logfile key exists, and its value is not "-", try to use the value as a file name for the log.
| std::map< std::string, std::string > TaskConfig::parseKeyVal | ( | const std::string & | category = "user" | ) | const |
Return map of all key-value pairs of strings listed after the configuration directive given by second parameter.
| std::set< std::string > TaskConfig::parseList | ( | const std::string & | category = "whitelist" | ) | const |
Split config value into non-blank strings.
Return set of all non-whitespace strings listed after the configuration directive given by second parameter.