Poco::XML

class EventDispatcher

Library: XML
Package: DOM
Header: Poco/DOM/EventDispatcher.h

Description

This helper class manages event listener subscriptions and event dispatching for AbstractNode.

The EventListener list is managed in such a way that event listeners can be added and removed even from within an EventListener, while events are being dispatched.

Member Summary

Member Functions: addEventListener, bubbleEvent, captureEvent, dispatchEvent, removeEventListener

Constructors

EventDispatcher

EventDispatcher();

Creates the EventDispatcher.

Destructor

~EventDispatcher

~EventDispatcher();

Destroys the EventDispatcher.

Member Functions

addEventListener

void addEventListener(
    const XMLString & type,
    EventListener * listener,
    bool useCapture
);

Adds an EventListener to the internal list.

bubbleEvent

void bubbleEvent(
    Event * evt
);

Dispatches the event in its bubbling phase.

Also removes all EventListeners marked for deletion from the event dispatcher list.

captureEvent

void captureEvent(
    Event * evt
);

Dispatches the event in its capturing phase.

Also removes all EventListeners marked for deletion from the event dispatcher list.

dispatchEvent

void dispatchEvent(
    Event * evt
);

Dispatches the event.

Also removes all EventListeners marked for deletion from the event dispatcher list.

removeEventListener

void removeEventListener(
    const XMLString & type,
    EventListener * listener,
    bool useCapture
);

Removes an EventListener from the internal list.

If a dispatch is currently in progress, the list entry is only marked for deletion. If no dispatch is currently in progress, all EventListeners marked for deletion are removed from the list.