PPI: Implement PPI dump
[senf.git] / PPI / ModuleManager.hh
index 262dc4c..c8b411d 100644 (file)
 /** \file
     \brief ModuleManager public header */
 
-#ifndef HH_ModuleManager_
-#define HH_ModuleManager_ 1
+#ifndef HH_SENF_PPI_ModuleManager_
+#define HH_SENF_PPI_ModuleManager_ 1
 
 // Custom includes
 #include <vector>
 #include <deque>
 #include "predecl.hh"
 #include "../Scheduler/Scheduler.hh"
+#include "../Utils/Console/ScopedDirectory.hh"
 
 //#include "ModuleManager.mpp"
 ///////////////////////////////hh.p////////////////////////////////////////
@@ -82,6 +83,8 @@ namespace ppi {
 
         bool running() const;           ///< \c true, if the network is running
 
+        senf::console::DirectoryNode & consoleDir() const;
+
     private:
         ModuleManager();
 
@@ -92,6 +95,8 @@ namespace ppi {
         void unregisterInitializable(Initializable & i);
         bool initializableRegistered(Initializable const & i) const;
 
+        void dumpModules(std::ostream & os);
+
         typedef std::vector<module::Module *> ModuleRegistry;
         typedef std::deque<Initializable *> InitQueue;
 
@@ -106,7 +111,9 @@ namespace ppi {
 
         InitQueue initQueue_;
 
-        scheduler::EventEvent initRunner_;
+        scheduler::EventHook initRunner_;
+
+        senf::console::ScopedDirectory<> consoleDir_;
 
         friend class module::Module;
         friend class Initializable;