// $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 <g0dil@berlios.de>
//
// This program is free software; you can redistribute it and/or modify
//#include "IOEvent.ih"
// Custom includes
-#include <boost/bind.hpp>
+#include "../Utils/senfassert.hh"
//#include "IOEvent.mpp"
#define prefix_
prefix_ void senf::ppi::IOEvent::v_enable()
{
- Scheduler::instance().add(fd_, boost::bind(&IOEvent::cb,this,_1,_2),
- Scheduler::EventId(events_));
+ if (fd_ != -1)
+ event_.enable();
}
prefix_ void senf::ppi::IOEvent::v_disable()
{
- Scheduler::instance().remove(fd_, Scheduler::EventId(events_));
+ if (fd_ != -1)
+ event_.disable();
}
-prefix_ void senf::ppi::IOEvent::cb(int, Scheduler::EventId event)
+prefix_ void senf::ppi::IOEvent::cb(int event)
{
- if ((event & ~events_) != 0) {
+ if ((event & ~event_.events()) != 0) {
if (event & Err)
throw ErrorException();
else if (event & Hup)
throw HangupException();
else
// This cannot happen.
- BOOST_ASSERT(false);
+ SENF_ASSERT(false);
} else {
IOEventInfo info = { event };
callback(info);