From 043be8d07cf7901381895e7a6bad45ee3b71a5f2 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Wed, 5 Sep 2012 23:05:40 -0700 Subject: Proper handling of argc / argv. --- includes/Main.h | 11 +++++------ src/Main.cc | 8 ++------ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/includes/Main.h b/includes/Main.h index 60de081..49afd35 100644 --- a/includes/Main.h +++ b/includes/Main.h @@ -15,13 +15,16 @@ class Exit : public GeneralException { class MainTask : public Task { public: - MainTask() : m_stopTaskManOnExit(true) { } + MainTask(int argc, char ** argv, char ** enve) : argc(argc), argv(argv), enve(enve) { } virtual ~MainTask(); virtual const char * getName() const; virtual void Do(); void stopTaskManOnExit(bool v) { m_stopTaskManOnExit = v; } private: - bool m_stopTaskManOnExit; + int argc; + char ** argv; + char ** enve; + bool m_stopTaskManOnExit = true; }; class Main { @@ -37,10 +40,6 @@ class Main { static Status getStatus() { return s_application->m_status; } int bootstrap(int _argc, char ** _argv); static bool hasMain() { return s_application; } - protected: - int argc; - char ** argv; - char ** enve; private: Status m_status; static Main * s_application; diff --git a/src/Main.cc b/src/Main.cc index 32b7cf8..baf55d4 100644 --- a/src/Main.cc +++ b/src/Main.cc @@ -47,20 +47,16 @@ const char * Balau::MainTask::getName() const { return "Main Task"; } -int Balau::Main::bootstrap(int _argc, char ** _argv) { +int Balau::Main::bootstrap(int argc, char ** argv) { int r = 0; m_status = STARTING; - argc = _argc; - argv = _argv; - enve = NULL; - for (AtStart * ptr = AtStart::s_head; ptr; ptr = ptr->m_next) ptr->doStart(); try { m_status = RUNNING; - TaskMan::registerTask(new MainTask()); + TaskMan::registerTask(new MainTask(argc, argv, NULL)); r = TaskMan::getDefaultTaskMan()->mainLoop(); m_status = STOPPING; } -- cgit v1.2.3