Sha256: 0fa1b69c57e2c29641ee65adee2fcbbcd88b059f27e175598757675ea31b7972

Contents?: true

Size: 1.39 KB

Versions: 2

Compression:

Stored size: 1.39 KB

Contents

package org.osflash.signals
{
	/**
	 *
	 */
	public interface ISignal
	{
		/**
		 * An optional array of classes defining the types of parameters sent to listeners.
		 */
		function get valueClasses():Array;
		
		/** The current number of listeners for the signal. */
		function get numListeners():uint;
		
		/**
		 * Subscribes a listener for the signal.
		 * @param	listener A function with arguments
		 * that matches the value classes dispatched by the signal.
		 * If value classes are not specified (e.g. via Signal constructor), dispatch() can be called without arguments.
		 * @return the listener Function passed as the parameter
		 */
		function add(listener:Function):Function;
		
		/**
		 * Subscribes a one-time listener for this signal.
		 * The signal will remove the listener automatically the first time it is called,
		 * after the dispatch to all listeners is complete.
		 * @param	listener A function with arguments
		 * that matches the value classes dispatched by the signal.
		 * If value classes are not specified (e.g. via Signal constructor), dispatch() can be called without arguments.
		 * @return the listener Function passed as the parameter
		 */
		function addOnce(listener:Function):Function;
		
		/**
		 * Unsubscribes a listener from the signal.
		 * @param	listener
		 * @return the listener Function passed as the parameter
		 */
		function remove(listener:Function):Function;
		
	}
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
as3signals-0.7.1 src/org/osflash/signals/ISignal.as
as3signals-0.7.0 src/org/osflash/signals/ISignal.as