#include <OUX/dispatch/signal.hh> class OUXEV_Signal : public OTC_Event {
public:
~OUXEV_Signal();
inline OUXEV_Signal(int theSignal);
inline int signal() const;
void* type() const;
inline static void* typeId();
void dump(ostream& outs) const;
static void subscribe(int theAgentId, int theSignal);
static void unsubscribe(int theAgentId, int theSignal);
static void unsubscribeAgent(int theAgentId);
static void capacity(u_int theCapacity);
static OTC_Job* pending();
inline static int fd();
protected:
void cancelSource(int theAgentId);
};
OUXEV_Signal
is a derived version of OTC_Event
specifically
for notifying agents of the occurence of a UNIX signal. The
class also provides the interface for registration of interest
in signals by agents.
inline OUXEV_Signal(int theSignal);
theSignal
.
inline int signal() const;
void* type() const;
inline static void* typeId();
void dump(ostream& outs) const;
outs
.
static void subscribe(int theAgentId, int theSignal);
theAgentId
should be notified when
theSignal
occurs.
static void unsubscribe(int theAgentId, int theSignal);
theAgentId
is interested in being
notified about occurences of theSignal
.
static void unsubscribeAgent(int theAgentId);
theAgentId
is interested in any signals.
static void capacity(u_int theCapacity);
64
is used. If
theCapacity
is 0
an exception is
raised.
static OTC_Job* pending();
0
if no pending signals
exist.
inline static int fd();
-1
if no signals have
yet been subscribed to.
void cancelSource(int theAgentId);
theAgentId
to which this event was to be
delivered, from all further signals. This
function will be called when the agent to
which this event was to be delivred does
not exist.
OTC_Event
, OTC_EVAgent