Scheduler: Remove obsolete 'Scheduler' class
[senf.git] / PPI / ModuleManager.cc
index 55c65d2..490bb01 100644 (file)
@@ -1,8 +1,8 @@
 // $Id$
 //
-// Copyright (C) 2007 
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
+// Copyright (C) 2007
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
 //     Stefan Bund <g0dil@berlios.de>
 //
 // This program is free software; you can redistribute it and/or modify
@@ -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();
-    Scheduler::instance().process();
+    RunGuard guard (*this);
+    scheduler::process();
 }
 
+////////////////////////////////////////
+// private members
+
+prefix_ senf::ppi::ModuleManager::ModuleManager()
+    : running_(false), terminate_(false)
+{}
+
 ///////////////////////////////cc.e////////////////////////////////////////
 #undef prefix_
 //#include "ModuleManager.mpp"