man Event::generic () - generic event handling

NAME

Event::generic - generic event handling

SYNOPSIS

 use Event::generic;

 $source = Event::generic::Source->new;

 $w = Event->generic(source => $source, ...);
 $w = $source->watch(...);

 $source = $w->source;
 $w->source($source);

 $source->event;
 $source->event($data);

 $data = $event->data;

DESCRIPTION

This module provides a watcher type within the CWEvent framework. You must understand the architecture of the CWEvent system in order to understand this document.

This module provides a system of reified event sources and watchers watching those sources. Events are generated solely by a method on the event source object. The events may carry arbitrary data to the event handler callbacks. This module is intended for situations where the events of interest are best determined by Perl code.

CLASSES

Event::generic::Source
A reified event source.
Event::generic
A watcher that can watch CWEvent::generic::Source event sources.
Event::Event::Dataful
A (target) event that can carry arbitrary data.

EVENT SOURCE CLASS

Constructor

Event::generic::Source->new
Creates and returns a new event source.

Methods

$source->event
$source->event(DATA)
The invocation of this method is a source event for watchers of the event source. When this method is called, each active watcher of the event source generates a target event. The DATA, if supplied, is copied into the target event objects, from which it can be retrieved using the CWdata() method.
$source->watch(ATTR => VALUE, ...)
Generates and returns a new watcher, configured to watch this event source. The standard watcher attributes may be specified as arguments. The watcher returned is an ordinary CWEvent::generic, and may be reconfigured to watch a different event source.

WATCHER CLASS

Type-specific attributes

The event source to watch. This must be either an CWEvent::generic::Source object or CWundef. When set to CWundef, no source is being watched, and the watcher cannot be started.

EVENT CLASS

Type-specific methods

$event->data
Returns the data associated with the event, which may be any scalar. This is read-only, and is set by the event source.

SEE ALSO

Event