package de.dtele.net.events {
  
  import de.dtele.net.MediaRequest;
  import de.dtele.net.MediaRequestError;
  
  import flash.events.Event;
  
  /**
   * Notification for connection error events
   * 
   * @author Mathias Brodala
   */
  public class ConnectionErrorEvent extends Event {
    
    /* Constants */
    /**
     * The ConnectionEvent.ERROR constant defines the value of the 
     * <code>type</code> property of the event object 
     * for a <code>error</code> event.
     * 
     * @eventType error
     */
    public static const ERROR:String = "error";
    
    /* Properties */
    private var _error:MediaRequestError;
    /**
     * The MediaRequest error this event was dispatched for
     * 
     * @return The MediaRequest error
     */
    public function get error():MediaRequestError {
      
      return _error;
    }
    
    private var _request:MediaRequest;
    /**
     * The MediaRequest this event's response was preceded by
     */
    public function get request():MediaRequest {
      return _request;
    }
    
    public function ConnectionErrorEvent(type:String, error:MediaRequestError, request:MediaRequest=null, bubbles:Boolean=false, cancelable:Boolean=false) {
      
      super(type, bubbles, cancelable);
      this._error = error;
      this._request = request;
    }
  }
}