X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Scheduler%2FScheduler.hh;h=706ee5b216ba2d7c7c17a14251a02ee9aed8ece9;hb=5b2e6f429a45b3bec23c52bd81a9726b9dbbcf68;hp=34e625cf2211b6a53978f6f5ddf080a66a6f4f2e;hpb=016f5a1e74a59a71dd2b3f5513c1e041ebf54213;p=senf.git diff --git a/Scheduler/Scheduler.hh b/Scheduler/Scheduler.hh index 34e625c..706ee5b 100644 --- a/Scheduler/Scheduler.hh +++ b/Scheduler/Scheduler.hh @@ -72,8 +72,12 @@ namespace senf { If you need to pass additional information to your handler, use Boost.Bind: \code + // Handle callback function + void callback(UDPv4ClientSocketHandle handle, senf::Scheduler::EventId event) {..} // Pass 'handle' as additional first argument to callback() - Scheduler::instance().add(handle, boost::bind(&callback, handle, _1)) + Scheduler::instance().add(handle, boost::bind(&callback, handle, _1), EV_READ) + // Timeout function + void timeout( int n) {..} // Call timeout() handler with argument 'n' Scheduler::instance().timeout(boost::bind(&timeout, n)) \endcode @@ -82,7 +86,7 @@ namespace senf { href="http://www.boost.org/libs/bind/bind.html">Boost.Bind or senf::membind() \code // e.g. in Foo::Foo() constructor: - Scheduler::instance().add(handle_, senf::membind(&Foo::callback, this)) + Scheduler::instance().add(handle_, senf::membind(&Foo::callback, this)), EV_READ) \endcode @@ -90,7 +94,7 @@ namespace senf { File descriptors are managed using add() or remove() \code - Scheduler::instance().add(handle, &callback); + Scheduler::instance().add(handle, &callback, EV_ALL); Scheduler::instance().remove(handle); \endcode @@ -295,9 +299,9 @@ namespace senf { ///< Remove signal handler for \a signal /// The signal number passed to registerSignal or unregisterSignal is invalid - struct InvalidSignalNumberException : public std::exception - { virtual char const * what() const throw() - { return "senf::Scheduler::InvalidSignalNumberException"; } }; + struct InvalidSignalNumberException : public senf::Exception + { InvalidSignalNumberException() + : senf::Exception("senf::Scheduler::InvalidSignalNumberException"){} }; ///\}