// $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
for (; i != i_end; ++i)
if ((*i)->throttled())
break;
- if (i == i_end)
- enabled(true);
+ if (i != i_end)
+ return;
+ throttled_ = false;
+ enabled(true);
+}
+
+prefix_ void senf::ppi::EventDescriptor::enabled(bool v)
+{
+ SENF_ASSERT(v_isRegistered() && "Module::registerEvent() call missing");
+ if (throttled_ && v)
+ return;
+ if (v && ! enabled_)
+ v_enable();
+ else if (! v && enabled_)
+ v_disable();
+ enabled_ = v;
}
///////////////////////////////cc.e////////////////////////////////////////