From 75d6916ec69878af6649dd41ccdc41b5df807230 Mon Sep 17 00:00:00 2001 From: Pixel Date: Fri, 27 Sep 2002 20:36:49 +0000 Subject: Adding missing files --- generic/Main.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 generic/Main.cpp (limited to 'generic/Main.cpp') diff --git a/generic/Main.cpp b/generic/Main.cpp new file mode 100644 index 0000000..774cf08 --- /dev/null +++ b/generic/Main.cpp @@ -0,0 +1,45 @@ +#include "Main.h" +#include "generic.h" +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +Main::Main() : setted(false) {} + +Main::~Main() {} + +extern Main * Application; + +void Main::set_args(int a_argc, char ** a_argv, char ** a_enve) { + if (setted) { + return; + } + argc = a_argc; + argv = a_argv; + enve = a_enve; + setted = true; +} + +int main(int argc, char ** argv, char ** enve) { + int r; + + try { + Application->set_args(argc, argv, enve); + r = Application->startup(); + } + catch (Exit e) { + r = e.GetCode(); + } + catch (GeneralException e) { + printm(M_ERROR, "The application caused an exception: %s\n", e.GetMsg()); + delete Application; + exit(-1); + } + catch (...) { + printm(M_ERROR, "The application caused an unknow exception\n"); + delete Application; + exit(-1); + } + delete Application; + exit(r); +} -- cgit v1.2.3