00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef SCHROOT_BASE_MAIN_H
00020 #define SCHROOT_BASE_MAIN_H
00021
00022 #include <schroot-base/schroot-base-options.h>
00023
00024 #include <string>
00025
00026 namespace schroot_base
00027 {
00028
00034 class main
00035 {
00036 public:
00046 main (std::string const& program_name,
00047 std::string const& program_usage,
00048 options::ptr const& program_options,
00049 bool use_syslog);
00050
00052 virtual ~main ();
00053
00062 int
00063 run (int argc,
00064 char *argv[]);
00065
00071 virtual void
00072 action_help (std::ostream& stream);
00073
00079 virtual void
00080 action_version (std::ostream& stream);
00081
00082 protected:
00090 virtual int
00091 run_impl () = 0;
00092
00094 std::string program_name;
00096 std::string program_usage;
00098 options::ptr program_options;
00100 bool use_syslog;
00101 };
00102
00103 }
00104
00105 #endif
00106
00107
00108
00109
00110
00111