X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FModule.cci;h=9a852db4d94e0259c5faa96c6ec2dedcb66204be;hb=394a298567543441521439ad15f7016cd569c449;hp=04ecc61c9b5696445ea1c29e6d9962be3da12d55;hpb=81ffa1c459b96dd44472bcef37e1e373934ee138;p=senf.git diff --git a/PPI/Module.cci b/PPI/Module.cci index 04ecc61..9a852db 100644 --- a/PPI/Module.cci +++ b/PPI/Module.cci @@ -27,6 +27,7 @@ #include "Route.hh" #include "Connectors.hh" #include "EventManager.hh" +#include "ModuleManager.hh" #define prefix_ inline ///////////////////////////////cci.p/////////////////////////////////////// @@ -34,31 +35,60 @@ /////////////////////////////////////////////////////////////////////////// // senf::ppi::module::Module -prefix_ void senf::ppi::module::Module::noroute(connector::Connector & connector) +prefix_ senf::ppi::module::Module::~Module() { - registerConnector(connector); - connector.setModule(*this); + moduleManager().unregisterModule(*this); +} + +prefix_ senf::ClockService::clock_type senf::ppi::module::Module::time() + const +{ + return eventManager().time(); } -prefix_ boost::posix_time::ptime senf::ppi::module::Module::eventTime() +prefix_ senf::ClockService::clock_type senf::ppi::module::Module::now() + const { - return eventManager().eventTime(); + return eventManager().now(); } //////////////////////////////////////// // protected members 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); +} //////////////////////////////////////// // private members +prefix_ void senf::ppi::module::Module::init() +{} + prefix_ senf::ppi::EventManager & senf::ppi::module::Module::eventManager() + const { return EventManager::instance(); } +prefix_ senf::ppi::ModuleManager & senf::ppi::module::Module::moduleManager() + const +{ + return ModuleManager::instance(); +} + prefix_ void senf::ppi::module::Module::registerConnector(connector::Connector & connector) { connectorRegistry_.push_back(&connector);