Utils/Console: Add short help to 'ls' output
[senf.git] / Scheduler / SignalEvent.cci
index 3a0407e..a19bc4d 100644 (file)
@@ -56,53 +56,37 @@ prefix_ bool senf::scheduler::detail::SignalDispatcher::empty()
 ///////////////////////////////////////////////////////////////////////////
 // senf::scheduler::SignalEvent
 
-prefix_ senf::scheduler::SignalEvent::SignalEvent(int signal, Callback cb,
+prefix_ senf::scheduler::SignalEvent::SignalEvent(int signal, Callback const & cb,
                                                   bool initiallyEnabled)
-    : signal_ (signal), enabled_ (initiallyEnabled), cb_ (cb)
+    : detail::FIFORunner::TaskInfo(signalName(signal)), signal_ (signal), cb_ (cb)
 {
-    name = signalName(signal);
-    if (enabled_)
-        senf::scheduler::detail::SignalDispatcher::instance().add(*this);
+    if (initiallyEnabled)
+        enable();
 }
 
 prefix_ senf::scheduler::SignalEvent::~SignalEvent()
 {
     if (senf::scheduler::detail::SignalDispatcher::alive())
-        senf::scheduler::detail::SignalDispatcher::instance().remove(*this);
+        disable();
 }
 
 prefix_ void senf::scheduler::SignalEvent::disable()
 {
-    if (enabled_) {
+    if (detail::SignalSetBase::linked())
         senf::scheduler::detail::SignalDispatcher::instance().remove(*this);
-        enabled_ = false;
-    }
 }
 
 prefix_ void senf::scheduler::SignalEvent::enable()
 {
-    if (! enabled_) {
+    if (! detail::SignalSetBase::linked())
         senf::scheduler::detail::SignalDispatcher::instance().add(*this);
-        enabled_ = true;
-    }
 }
 
-prefix_ bool senf::scheduler::SignalEvent::enabled()
-    const
-{
-    return enabled_;
-}
-
-prefix_ void senf::scheduler::SignalEvent::action(Callback cb)
+prefix_ void senf::scheduler::SignalEvent::action(Callback const & cb)
 {
     cb_ = cb;
 }
 
-prefix_ void senf::scheduler::SignalEvent::run()
-{
-    cb_(siginfo_);
-}
-
 ///////////////////////////////cci.e///////////////////////////////////////
 #undef prefix_