Packets: extended description of bad_cast exception in Packet.as()
[senf.git] / senf / PPI / Module.cci
index b54093f..d153cb4 100644 (file)
 #include "Route.hh"
 #include "Connectors.hh"
 #include "EventManager.hh"
-#include "ModuleManager.hh"
 #include <boost/lambda/lambda.hpp>
 #include <boost/lambda/bind.hpp>
 #include <algorithm>
 
 #define prefix_ inline
-///////////////////////////////cci.p///////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 
-///////////////////////////////////////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 // senf::ppi::module::Module
 
-////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 // private members
 
 prefix_ void senf::ppi::module::Module::v_init()
@@ -56,44 +55,20 @@ prefix_ senf::ppi::ModuleManager & senf::ppi::module::Module::moduleManager()
     return ModuleManager::instance();
 }
 
-prefix_ void senf::ppi::module::Module::registerConnector(connector::Connector & connector)
-{
-    if (std::find(connectorRegistry_.begin(), connectorRegistry_.end(), &connector)
-        == connectorRegistry_.end()) {
-        connectorRegistry_.push_back(&connector);
-        connector.setModule(*this);
-    }
-}
-
-prefix_ void senf::ppi::module::Module::unregisterConnector(connector::Connector & connector)
-{
-    ConnectorRegistry::iterator i (std::find(connectorRegistry_.begin(), connectorRegistry_.end(),
-                                             &connector));
-    if (i != connectorRegistry_.end())
-        connectorRegistry_.erase(i);
-
-    routes_.erase_if(boost::bind(&RouteBase::hasConnector, _1, boost::cref(connector)));
-}
-
 prefix_ void senf::ppi::module::Module::unregisterEvent(EventDescriptor & event)
 {
     routes_.erase_if(boost::bind(&RouteBase::hasEvent, _1, boost::cref(event)));
 }
 
-prefix_ senf::ppi::RouteBase &
-senf::ppi::module::Module::addRoute(std::auto_ptr<RouteBase> route)
-{
-    routes_.push_back(route.release());
-    return routes_.back();
-}
-
-////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 // public members
 
 prefix_ senf::ppi::module::Module::~Module()
 {
-    SENF_ASSERT(connectorRegistry_.empty());
-    SENF_ASSERT(routes_.empty());
+    SENF_ASSERT(connectorRegistry_.empty(),
+                "Internal failure: connectors still registered in Module destructor ??");
+    SENF_ASSERT(routes_.empty(),
+                "internal failure: routes still registered in Module destructor ??");
 
     moduleManager().unregisterModule(*this);
 }
@@ -110,7 +85,7 @@ prefix_ senf::ClockService::clock_type senf::ppi::module::Module::now()
     return eventManager().now();
 }
 
-////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 // protected members
 
 prefix_ senf::ppi::module::Module::Module()
@@ -118,18 +93,12 @@ prefix_ senf::ppi::module::Module::Module()
     moduleManager().registerModule(*this);
 }
 
-prefix_ void senf::ppi::module::Module::noroute(connector::Connector & connector)
-{
-    registerConnector(connector);
-    connector.setModule(*this);
-}
-
 prefix_ void senf::ppi::module::Module::destroy()
 {
     eventManager().destroyModule(*this);
 }
 
-///////////////////////////////cci.e///////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 #undef prefix_
 
 \f