From 8c5aad737561837f0b8d616cc03130b7546e45a9 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 1 Mar 2015 23:05:02 +0100 Subject: o Trying to structure how apps are made. --- apps/apps.h | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'apps/apps.h') 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); } } -- cgit v1.2.3