aboutsummaryrefslogtreecommitdiff
path: root/apps/apps.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/apps.h')
-rw-r--r--apps/apps.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/apps/apps.h b/apps/apps.h
index f1cdb8a..3b15bdd 100644
--- a/apps/apps.h
+++ b/apps/apps.h
@@ -6,9 +6,29 @@
namespace trygvis {
namespace apps {
-const boost::program_options::options_description logging_options();
+namespace po = boost::program_options;
-void setup_logging(boost::program_options::variables_map vm);
+class app_execution {
+public:
+ app_execution(po::options_description desc, po::variables_map vm) : desc(desc), vm(vm) {
+ }
+
+ po::options_description desc;
+ po::variables_map vm;
+
+ void usage();
+};
+
+class app {
+public:
+
+ virtual void add_options(po::options_description_easy_init& options) {
+ };
+
+ virtual int main(app_execution &execution) = 0;
+};
+
+int launch_app(int argc, char *argv[], app &app);
}
}