Object that can emit events for others to listen for. This is used instead of Closure's event system because it is much more light weight. The API is based on Node's EventEmitters.
Registers a listener.
The type of event to listen for.
The function to invoke when the event is fired.
The object in whose scope to invoke the listener.
A self reference.
Fires an event and calls all listeners.
The type of event to emit.
Any arguments to pass to each listener.
Returns a mutable list of listeners for a specific type of event.
The type of event to retrieve the listeners for.
Array<{ fn: any; oneshot: boolean; scope: any; }>
{!Array.<{fn: !Function, oneshot: boolean, scope: (Object|undefined)}>} The registered listeners for the given event type.
An alias for {@code #addListener()}.
The type of event to listen for.
The function to invoke when the event is fired.
The object in whose scope to invoke the listener.
A self reference.
Registers a one-time listener which will be called only the first time an event is emitted, after which it will be removed.
The type of event to listen for.
The function to invoke when the event is fired.
The object in whose scope to invoke the listener.
A self reference.
Removes all listeners for a specific type of event. If no event is specified, all listeners across all types will be removed.
The type of event to remove listeners from.
A self reference.
Removes a previously registered event listener.
The type of event to unregister.
The handler function to remove.
A self reference.