parse config file

This commit is contained in:
HanzZ 2011-05-14 18:52:14 +02:00
parent b62274f1dd
commit 03d34297b5

View file

@ -9,11 +9,45 @@
using namespace Transport;
int main(void)
int main(int argc, char **argv)
{
Config config;
if (!config.load("sample.cfg")) {
std::cout << "Can't open sample.cfg configuration file.\n";
boost::program_options::options_description desc("Usage: spectrum [OPTIONS] <config_file.cfg>\nAllowed options");
desc.add_options()
("help,h", "help")
("no-daemonize,n", "Do not run spectrum as daemon")
;
try
{
boost::program_options::variables_map vm;
boost::program_options::store(boost::program_options::parse_command_line(argc, argv, desc), vm);
boost::program_options::notify(vm);
if(vm.count("help"))
{
std::cout << desc << "\n";
exit(1);
}
}
catch (std::runtime_error& e)
{
std::cout << desc << "\n";
exit(1);
}
catch (...)
{
std::cout << desc << "\n";
exit(1);
}
if (argc != 2) {
std::cout << desc << "\n";
exit(1);
}
if (!config.load(argv[1])) {
std::cerr << "Can't load configuration file.\n";
return 1;
}
@ -24,7 +58,7 @@ int main(void)
SQLite3Backend sql(&config);
logger.setStorageBackend(&sql);
if (!sql.connect()) {
std::cout << "Can't connect to database.\n";
std::cerr << "Can't connect to database.\n";
}
UserManager userManager(&transport, &sql);