diff --git a/modules/testMenu/src/testMenu.cpp b/modules/testMenu/src/testMenu.cpp index 8ece03e..f9d4256 100644 --- a/modules/testMenu/src/testMenu.cpp +++ b/modules/testMenu/src/testMenu.cpp @@ -1,7 +1,6 @@ #include "testMenu.h" -TestMenu::TestMenu(void* h) { - handle = h; +TestMenu::TestMenu(void* h, App& a) : Module(h, a) { name = "TestMenu"; } @@ -27,10 +26,10 @@ void TestMenu::run() { num--; break; case 3: - App::Get().unload(self); + app.stopModule(self); break; case 4: - App::Get().end(); + app.end(); break; default: break; diff --git a/modules/testMenu/src/testMenu.h b/modules/testMenu/src/testMenu.h index 063d8e6..b641fbc 100644 --- a/modules/testMenu/src/testMenu.h +++ b/modules/testMenu/src/testMenu.h @@ -3,7 +3,7 @@ class TestMenu : public Module { public: - TestMenu(void*); + TestMenu(void*, App&); ~TestMenu(); void run(); @@ -13,7 +13,7 @@ class TestMenu : public Module { }; extern "C" { - Module* create(void* handle) { - return new TestMenu(handle); + Module* create(void* handle, App& app) { + return new TestMenu(handle, app); } } diff --git a/src/App.h b/src/App.h index cc07b06..1d115d6 100644 --- a/src/App.h +++ b/src/App.h @@ -14,6 +14,13 @@ class App { std::list modules; std::list toClose; + + void load(std::string); + void unload(std::list::iterator); + + void handleArgs(const int&, char*[]); + + void printHelp(); public: App(const int&, char*[]); @@ -23,15 +30,7 @@ class App { void run(); - void load(std::string); - - void unload(decltype(Module::self)); - - void stopModule(decltype(Module::self)); - - void handleArgs(const int&, char*[]); - - void printHelp(); + void stopModule(std::list::iterator); void end() { done = true; } };