1 #ifndef DBALLE_CMDLINE_CMDLINE_H
2 #define DBALLE_CMDLINE_CMDLINE_H
10 #include <dballe/file.h>
11 #include <dballe/fwd.h>
23 std::vector<std::string> names;
31 virtual void add_to_optable(std::vector<poptOption>& opts)
const;
36 virtual int main(poptContext) = 0;
46 poptContext
make_popt_context(
int argc,
const char* argv[], std::vector<poptOption>& opts)
const;
47 void manpage_print_options(FILE* out);
50 #define ODT_END { NULL, NULL, NULL, NULL, NULL, NULL }
57 std::string manpage_examples_section;
58 std::string manpage_files_section;
59 std::string manpage_seealso_section;
61 std::vector<Subcommand*> ops;
69 Subcommand* find_action(
const std::string& name)
const;
71 void usage(
const std::string& selfpath, FILE* out)
const;
72 void manpage(FILE* out)
const;
75 int main(
int argc,
const char* argv[]);
87 virtual const char* what()
const throw () {
return msg.c_str(); }
90 static void throwf(
const char* fmt, ...) WREPORT_THROWF_ATTRS(1, 2);
97 void dba_cmdline_print_dba_error();
103 void dba_cmdline_error(poptContext optCon, const
char* fmt, ...) __attribute__ ((noreturn));
108 Encoding string_to_encoding(const
char* type);
115 unsigned dba_cmdline_get_query(poptContext optCon, Query& query);
120 void list_templates();
123 std::list<std::
string> get_filenames(poptContext optCon);