Socket: Add missing InetSocketProtocol baseclass to relevant socket protocols
[senf.git] / PPI / Module.cci
index 5771125..6a7be73 100644 (file)
@@ -1,8 +1,8 @@
 // $Id$
 //
-// Copyright (C) 2007 
-// Fraunhofer Institute for Open Communication Systems (FOKUS) 
-// Competence Center NETwork research (NET), St. Augustin, GERMANY 
+// 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
 ///////////////////////////////////////////////////////////////////////////
 // senf::ppi::module::Module
 
-prefix_ senf::ppi::module::Module::~Module()
-{
-    moduleManager().unregisterModule(*this);
-}
+////////////////////////////////////////
+// private members
 
-prefix_ senf::ClockService::clock_type senf::ppi::module::Module::time()
-    const
+prefix_ void senf::ppi::module::Module::init()
 {
-    return eventManager().time();
+    ConnectorRegistry::iterator i (connectorRegistry_.begin());
+    ConnectorRegistry::iterator i_end (connectorRegistry_.end());
+    for (; i != i_end; ++i)
+        (*i)->init();
+    v_init();
 }
 
-prefix_ senf::ClockService::clock_type senf::ppi::module::Module::now()
+prefix_ void senf::ppi::module::Module::v_init()
+{}
+
+prefix_ senf::ppi::EventManager & senf::ppi::module::Module::eventManager()
     const
 {
-    return eventManager().now();
+    return EventManager::instance();
 }
 
-////////////////////////////////////////
-// protected members
-
-prefix_ senf::ppi::module::Module::Module()
+prefix_ senf::ppi::ModuleManager & senf::ppi::module::Module::moduleManager()
+    const
 {
-    moduleManager().registerModule(*this);
+    return ModuleManager::instance();
 }
 
-prefix_ void senf::ppi::module::Module::noroute(connector::Connector & connector)
+prefix_ void senf::ppi::module::Module::registerConnector(connector::Connector & connector)
 {
-    registerConnector(connector);
+    connectorRegistry_.push_back(&connector);
     connector.setModule(*this);
 }
 
-prefix_ void senf::ppi::module::Module::destroy()
+prefix_ senf::ppi::RouteBase &
+senf::ppi::module::Module::addRoute(std::auto_ptr<RouteBase> route)
 {
-    eventManager().destroyModule(*this);
+    routes_.push_back(route.release());
+    return routes_.back();
 }
 
 ////////////////////////////////////////
-// private members
+// public members
 
-prefix_ void senf::ppi::module::Module::init()
-{}
+prefix_ senf::ppi::module::Module::~Module()
+{
+    moduleManager().unregisterModule(*this);
+}
 
-prefix_ senf::ppi::EventManager & senf::ppi::module::Module::eventManager()
+prefix_ senf::ClockService::clock_type senf::ppi::module::Module::time()
     const
 {
-    return EventManager::instance();
+    return eventManager().time();
 }
 
-prefix_ senf::ppi::ModuleManager & senf::ppi::module::Module::moduleManager()
+prefix_ senf::ClockService::clock_type senf::ppi::module::Module::now()
     const
 {
-    return ModuleManager::instance();
+    return eventManager().now();
 }
 
-prefix_ void senf::ppi::module::Module::registerConnector(connector::Connector & connector)
+////////////////////////////////////////
+// protected members
+
+prefix_ senf::ppi::module::Module::Module()
 {
-    connectorRegistry_.push_back(&connector);
+    moduleManager().registerModule(*this);
+}
+
+prefix_ void senf::ppi::module::Module::noroute(connector::Connector & connector)
+{
+    registerConnector(connector);
     connector.setModule(*this);
 }
 
-prefix_ senf::ppi::RouteBase &
-senf::ppi::module::Module::addRoute(std::auto_ptr<RouteBase> route)
+prefix_ void senf::ppi::module::Module::destroy()
 {
-    routes_.push_back(route.release());
-    return routes_.back();
+    eventManager().destroyModule(*this);
 }
 
 ///////////////////////////////cci.e///////////////////////////////////////