13 #include <boost/program_options.hpp>
15 #include <stdair/stdair_basic_types.hpp>
16 #include <stdair/basic/ProgressStatusSet.hpp>
17 #include <stdair/bom/EventStruct.hpp>
18 #include <stdair/bom/EventQueue.hpp>
19 #include <stdair/bom/BomDisplay.hpp>
20 #include <stdair/service/Logger.hpp>
36 stdair::Filename_T& ioLogFilename) {
39 boost::program_options::options_description
generic (
"Generic options");
41 (
"prefix",
"print installation prefix")
42 (
"version,v",
"print version string")
43 (
"help,h",
"produce help message");
47 boost::program_options::options_description config (
"Configuration");
51 "Filepath for the logs")
56 boost::program_options::options_description hidden (
"Hidden options");
59 boost::program_options::value< std::vector<std::string> >(),
60 "Show the copyright (license)");
62 boost::program_options::options_description cmdline_options;
63 cmdline_options.add(
generic).add(config).add(hidden);
65 boost::program_options::options_description config_file_options;
66 config_file_options.add(config).add(hidden);
68 boost::program_options::options_description visible (
"Allowed options");
69 visible.add(
generic).add(config);
71 boost::program_options::positional_options_description p;
72 p.add (
"copyright", -1);
74 boost::program_options::variables_map vm;
75 boost::program_options::
76 store (boost::program_options::command_line_parser (argc, argv).
77 options (cmdline_options).positional(p).run(), vm);
79 std::ifstream ifs (
"sevmgr.cfg");
80 boost::program_options::store (parse_config_file (ifs, config_file_options),
82 boost::program_options::notify (vm);
84 if (vm.count (
"help")) {
85 std::cout << visible << std::endl;
89 if (vm.count (
"version")) {
94 if (vm.count (
"prefix")) {
95 std::cout <<
"Installation prefix: " <<
PREFIXDIR << std::endl;
99 if (vm.count (
"log")) {
100 ioLogFilename = vm[
"log"].as< std::string >();
101 std::cout <<
"Log filename is: " << ioLogFilename << std::endl;
109 int main (
int argc,
char* argv[]) {
112 stdair::Filename_T lLogFilename;
122 std::ofstream logOutputFile;
124 logOutputFile.open (lLogFilename.c_str());
125 logOutputFile.clear();
128 const stdair::BasLogParams lLogParams (stdair::LOG::DEBUG, logOutputFile);
139 logOutputFile.close();