Setting language variable to english(otherwise , is interpreted as . in numbers)
27{
29 setenv("LC_ALL", "C", 1);
30
32
34
35 std::string configv;
36 std::string oksfn;
37 std::string rdbrl;
38 std::string roksrl;
39 QMap<QString, QString> argmap;
40
41 bop::options_description options_description("Allowed options", 128);
42
43 options_description.add_options()("help,h", "Provide help message")
44
45
46
47
48 ("file,f", bop::value<std::string>(&oksfn)->default_value(oksfn), "OKS database file name")
49
50
51
52
53
54
55 ;
56
57 bop::variables_map options_map;
58
59 try {
60 bop::parsed_options parsed =
61 bop::command_line_parser(argc, argv).options(options_description).allow_unregistered().run();
62
63
64 const auto& unknown = bop::collect_unrecognized(parsed.options, bop::include_positional);
65 if (unknown.size() != 0) {
66 std::cerr << "Incorrect command line argument, unrecognized options: ";
67 for (const auto& o : unknown) {
68 std::cerr << o << " ";
69 }
70 std::cerr << std::endl;
71
72 return EXIT_FAILURE;
73 }
74
75 bop::store(parsed, options_map);
76 bop::notify(options_map);
77
78 auto display_help_message = [&options_description]() {
79 std::cout << "DBE: TDAQ online configuration database editor" << std::endl
80 << std::endl
81 << "Usage: dbe [options]" << std::endl
82 << std::endl
83 << options_description << std::endl;
84 };
85
86 if (options_map.count("help")) {
87 display_help_message();
88 return EXIT_SUCCESS;
89 }
90
91 argmap.insert("f", QString::fromStdString(oksfn));
92
93
94
95
96 } catch (std::exception const& e) {
97 std::cerr << "Incorrect command line argument: " << e.what() << std::endl;
98 return EXIT_FAILURE;
99 }
100
102 try {
103 window->show();
104 return myapp->exec();
105 } catch (std::exception const& e) {
106 std::cerr << "Exception: " << e.what() << std::endl;
107 } catch (...) {
108 std::cerr << "Unknown Exception" << std::endl;
109 }
110
111 return EXIT_FAILURE;
112}