X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FModule.cci;h=de184f77a6b4364d595b11abd67de255c5be0636;hb=5443435c4c2b6e4386c5334b5b8358273f2bae93;hp=04ecc61c9b5696445ea1c29e6d9962be3da12d55;hpb=81ffa1c459b96dd44472bcef37e1e373934ee138;p=senf.git diff --git a/PPI/Module.cci b/PPI/Module.cci index 04ecc61..de184f7 100644 --- a/PPI/Module.cci +++ b/PPI/Module.cci @@ -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 // // This program is free software; you can redistribute it and/or modify @@ -27,6 +27,7 @@ #include "Route.hh" #include "Connectors.hh" #include "EventManager.hh" +#include "ModuleManager.hh" #define prefix_ inline ///////////////////////////////cci.p/////////////////////////////////////// @@ -34,31 +35,24 @@ /////////////////////////////////////////////////////////////////////////// // senf::ppi::module::Module -prefix_ void senf::ppi::module::Module::noroute(connector::Connector & connector) -{ - registerConnector(connector); - connector.setModule(*this); -} - -prefix_ boost::posix_time::ptime senf::ppi::module::Module::eventTime() -{ - return eventManager().eventTime(); -} - //////////////////////////////////////// -// protected members +// private members -prefix_ senf::ppi::module::Module::Module() +prefix_ void senf::ppi::module::Module::v_init() {} -//////////////////////////////////////// -// private members - 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); @@ -72,6 +66,45 @@ senf::ppi::module::Module::addRoute(std::auto_ptr route) return routes_.back(); } +//////////////////////////////////////// +// public members + +prefix_ senf::ppi::module::Module::~Module() +{ + moduleManager().unregisterModule(*this); +} + +prefix_ senf::ClockService::clock_type senf::ppi::module::Module::time() + const +{ + return eventManager().time(); +} + +prefix_ senf::ClockService::clock_type senf::ppi::module::Module::now() + const +{ + 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); +} + ///////////////////////////////cci.e/////////////////////////////////////// #undef prefix_