diff options
Diffstat (limited to 'config.cpp')
-rw-r--r-- | config.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/config.cpp b/config.cpp new file mode 100644 index 0000000..1fbcde5 --- /dev/null +++ b/config.cpp @@ -0,0 +1,22 @@ +#include "config.h" + +#include <string> +#include <fstream> +#include <stdexcept> + +po::variables_map config::vm; + +void config::init() { + po::options_description desc("foo"); + desc.add_options() + ("audist.music_root", po::value<std::string>(), "music root") + ("audist.httpd_port", po::value<int>()->default_value(8000), "httpd port") + ; + std::ifstream is("audist.conf", std::ios::in); + po::store(po::parse_config_file(is, desc, true), vm); + po::notify(vm); + + if(!vm.count("audist.music_root")) { + throw std::runtime_error("audist.music_root music be specified in audist.conf"); + } +} |