X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FEvents.cci;h=3800f201af2f1f986e7f691bf53eceae5415786c;hb=d5a72d0b3f6fee56dba6de1c54cafb448ebe3457;hp=8ffd90e550f5b37bf8444a23bb646ae7b03981db;hpb=81ffa1c459b96dd44472bcef37e1e373934ee138;p=senf.git diff --git a/PPI/Events.cci b/PPI/Events.cci index 8ffd90e..3800f20 100644 --- a/PPI/Events.cci +++ b/PPI/Events.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 @@ -24,7 +24,7 @@ \brief Events inline non-template implementation */ // Custom includes -#include +#include <../Utils/senfassert.hh> #define prefix_ inline ///////////////////////////////cci.p/////////////////////////////////////// @@ -40,23 +40,27 @@ prefix_ bool senf::ppi::EventDescriptor::enabled() return enabled_; } -prefix_ void senf::ppi::EventDescriptor::enabled(bool v) -{ - BOOST_ASSERT(v_isRegistered()); - if (v && ! enabled_) - v_enable(); - else if (! v && enabled_) - v_disable(); - enabled_ = v; -} - //////////////////////////////////////// // protected members prefix_ senf::ppi::EventDescriptor::EventDescriptor() - : enabled_(false) + : enabled_(false), throttled_(false) {} +//////////////////////////////////////// +// private members + +prefix_ void senf::ppi::EventDescriptor::notifyThrottle() +{ + throttled_ = true; + enabled(false); +} + +prefix_ void senf::ppi::EventDescriptor::registerRoute(ForwardingRoute & route) +{ + routes_.push_back(&route); +} + ///////////////////////////////cci.e/////////////////////////////////////// #undef prefix_