senf::scheduler::SignalEvent Class Reference

UNIX signal event. More...

#include <senf/Scheduler/SignalEvent.hh>

Inheritance diagram for senf::scheduler::SignalEvent:
Inheritance graph
[legend]

List of all members.


Detailed Description

UNIX signal event.

The SignalEvent class registers a callback for UNIX signals. The callback will be called synchronously (not from within the UNIX signal handler) by the scheduler.

The SignalEvent class is an implementation of the RAII idiom: The event will be automatically unregistered in the SignalEvent destructor. The SignalEvent instance should be created within the same scope or on a scope below where the callback is defined (e.g. if the callback is a member function it should be defined as a class member).

Definition at line 62 of file SignalEvent.hh.


Public Types

typedef boost::function< void(siginfo_t
const &)> 
Callback
  Callback type.

Public Member Functions

void  disable ()
  Enable signal event registration.
void  enable ()
  Disable the signal event registration.
void  action (Callback const &cb)
  Change signal event callback.

Structors and default members

  SignalEvent (int signal, Callback const &cb, bool initiallyEnabled=true)
  Register a signal event.
  ~SignalEvent ()

Member Typedef Documentation

typedef boost::function<void (siginfo_t const &)> senf::scheduler::SignalEvent::
Callback

Callback type.

Definition at line 71 of file SignalEvent.hh.


Constructor & Destructor Documentation

senf::scheduler::SignalEvent::
SignalEvent ( int  signal,
Callback const &  cb,
bool  initiallyEnabled = true )

Register a signal event.

Registers cb as callback for the UNIX signal signal. If initiallyEnabled is set false, the callback will not be enabled automatically. Use enable() to do so.

Parameters:
[in]  signal  UNIX signal to register callback for
[in]  cb  Callback to call
[in]  initiallyEnabled  if set false, do not enable callback automatically.

Definition at line 58 of file SignalEvent.cci.

senf::scheduler::SignalEvent::
~SignalEvent ()

Definition at line 66 of file SignalEvent.cci.


Member Function Documentation

void senf::scheduler::SignalEvent::
action ( Callback const &  cb )

Change signal event callback.

Definition at line 84 of file SignalEvent.cci.

void senf::scheduler::SignalEvent::
disable ()

Enable signal event registration.

Definition at line 72 of file SignalEvent.cci.

void senf::scheduler::SignalEvent::
enable ()

Disable the signal event registration.

Definition at line 78 of file SignalEvent.cci.


The documentation for this class was generated from the following files: