1  
     2  /**
     3   * com.sekati.events.AbstractEventBroadcaster
     4   * @version 1.0.0
     5   * @author jason m horwitz | sekati.com | tendercreative.com
     6   * Copyright (C) 2007  jason m horwitz, Sekat LLC. All Rights Reserved.
     7   * Released under the MIT License: http://www.opensource.org/licenses/mit-license.php
     8   */
     9  
    10  import com.sekati.events.EventBroadcaster;
    11  /**
    12   * AbstractEventBroadcaster Mixin class to be used when 
    13   * extending classes which broadcast "private" events.
    14   */
    15  class com.sekati.events.AbstractEventBroadcaster {
    16  	private var _b:EventBroadcaster;
    17  	/**
    18  	 * Constructoe
    19  	 */
    20  	public function AbstractEventBroadcaster() {
    21  		_b = EventBroadcaster.getInstance( );
    22  	}
    23  	public function addEventListener(event:String, handler:Function):Void {
    24  		_b.addEventListener( this, event, handler );
    25  	}
    26  	public function removeEventListener(event:String, handler:Function):Void {
    27  		_b.removeEventListener( this, event, handler );
    28  	}
    29  	public function removeAllListeners():Void {
    30  		_b.removeAllFromBroadcaster( this );
    31  	}
    32  	public function removeAllListenersToEvent(event:String):Void {
    33  		_b.removeAllFromBroadcasterAndEvent( this, event );
    34  	}
    35  	public function broadcastEvent(event:String):Void {
    36  		_b.broadcastArrayArgs( this, event, arguments.slice( 1 ) );
    37  	}
    38  	public function broadcastArrayArgs(event:String, args:Array):Void {
    39  		_b.broadcastArrayArgs( this, event, args );
    40  	}	
    41  }
    42