diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2015-03-08 19:38:15 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2015-03-08 19:38:15 +0100 |
commit | eecddf878f98bb921622a5a5bb2600aedb5a53fa (patch) | |
tree | 36c788ba073033e1ad1a2914b704a45f4d8c7ccd /apps/apps.cpp | |
parent | 552b997007a24943429488a3cc46c3e649316947 (diff) | |
download | ble-toys-eecddf878f98bb921622a5a5bb2600aedb5a53fa.tar.gz ble-toys-eecddf878f98bb921622a5a5bb2600aedb5a53fa.tar.bz2 ble-toys-eecddf878f98bb921622a5a5bb2600aedb5a53fa.tar.xz ble-toys-eecddf878f98bb921622a5a5bb2600aedb5a53fa.zip |
o Improved SQL output.
Diffstat (limited to 'apps/apps.cpp')
-rw-r--r-- | apps/apps.cpp | 53 |
1 files changed, 29 insertions, 24 deletions
diff --git a/apps/apps.cpp b/apps/apps.cpp index ca7cd81..edfb556 100644 --- a/apps/apps.cpp +++ b/apps/apps.cpp @@ -22,42 +22,47 @@ void setup_logging(po::variables_map vm) { } int launch_app(int argc, char *argv[], app& app) { - po::options_description desc("Options"); + po::options_description all("Options"); - auto x = desc.add_options(); - app.add_options(x); + auto all_options = all.add_options(); + app.add_options(all_options); - desc.add(logging_options()); + all.add(logging_options()); + app.add_extra_options(all); po::variables_map vm; - auto parsed = po::parse_command_line(argc, argv, desc); - po::store(parsed, vm); - - app_execution execution(desc, vm); try { + auto parsed = po::parse_command_line(argc, argv, all); + po::store(parsed, vm); + po::notify(vm); - } catch (boost::program_options::required_option &e) { - cerr << "Missing required option: " << e.get_option_name() << endl; - execution.usage(); - return EXIT_FAILURE; - } - auto unrecognized = po::collect_unrecognized(parsed.options, po::include_positional); + auto unrecognized = po::collect_unrecognized(parsed.options, po::include_positional); - if (vm.count("help")) { - cerr << desc << "\n"; - return EXIT_FAILURE; - } + if (vm.count("help")) { + cerr << all << "\n"; + return EXIT_FAILURE; + } - if (unrecognized.size()) { - cerr << "Unrecognized option: " << unrecognized.at(0) << "\n"; - return EXIT_FAILURE; - } + if (unrecognized.size()) { + cerr << "Unrecognized option: " << unrecognized.at(0) << "\n"; + return EXIT_FAILURE; + } - setup_logging(vm); + setup_logging(vm); - return app.main(execution); + app_execution execution(all, vm); + + return app.main(execution); + } catch (po::required_option &e) { + cerr << "Missing required option: " << e.get_option_name() << endl; + cerr << all << endl; + return EXIT_FAILURE; + } catch (po::unknown_option &e) { + cerr << e.what() << endl; + return EXIT_FAILURE; + } } |