24 #ifndef GNUCASH_CORE_APP_HPP 25 #define GNUCASH_CORE_APP_HPP 29 #undef _GLIBCXX_USE_C99_MATH_TR1 30 #if (__GNUC__ > 14) || (__GNUC__ == 14 && __GNUC_MINOR__ >= 1) 31 #undef _GLIBCXX_USE_C99_MATH_FUNCS 35 #include <boost/optional.hpp> 36 #include <boost/program_options.hpp> 42 namespace bpo = boost::program_options;
49 void parse_command_line (
int argc,
char **argv);
53 std::string m_app_name;
54 std::string m_tagline;
55 boost::optional <std::string> m_log_to_filename;
56 boost::optional <std::string> m_file_to_load;
58 bpo::options_description m_opt_desc_all;
59 std::unique_ptr<bpo::options_description> m_opt_desc_display;
60 bpo::variables_map m_opt_map;
61 bpo::positional_options_description m_pos_opt_desc;
64 void add_common_program_options (
void);
67 bool m_show_help =
false;
68 bool m_show_version =
false;
69 bool m_show_paths =
false;
72 boost::optional <std::string> m_gsettings_prefix;
73 std::vector <std::string> m_log_flags;
75 char *sys_locale =
nullptr;
78 using MessageCb = std::function<void(const char*)>;
80 void gnc_load_scm_config (MessageCb update_message);