X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FModuleManager.cc;h=7093e6e30bbea610d2b9f9737ae1459a6d2981d6;hb=394a298567543441521439ad15f7016cd569c449;hp=55c65d2727e313c9460755e69023ea9ebf4822dc;hpb=f539f4271d470794a773a92bacd8ba086c9bc1cd;p=senf.git diff --git a/PPI/ModuleManager.cc b/PPI/ModuleManager.cc index 55c65d2..7093e6e 100644 --- a/PPI/ModuleManager.cc +++ b/PPI/ModuleManager.cc @@ -27,7 +27,7 @@ //#include "ModuleManager.ih" // Custom includes -#include "Scheduler/Scheduler.hh" +#include "../Scheduler/Scheduler.hh" #include "Module.hh" //#include "ModuleManager.mpp" @@ -45,12 +45,31 @@ prefix_ void senf::ppi::ModuleManager::init() (*i)->init(); } +#ifndef DOXYGEN + +struct senf::ppi::ModuleManager::RunGuard +{ + RunGuard(ModuleManager & m) : manager(m) { manager.running_ = true; } + ~RunGuard() { manager.running_ = false; } + ModuleManager & manager; +}; + +#endif + prefix_ void senf::ppi::ModuleManager::run() { init(); + RunGuard guard (*this); Scheduler::instance().process(); } +//////////////////////////////////////// +// private members + +prefix_ senf::ppi::ModuleManager::ModuleManager() + : running_(false), terminate_(false) +{} + ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_ //#include "ModuleManager.mpp"