vendor/swiftmailer/lib/classes/Swift/Events/EventDispatcher.php
changeset 0 7f95f8617b0b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/swiftmailer/lib/classes/Swift/Events/EventDispatcher.php	Sat Sep 24 15:40:41 2011 +0200
@@ -0,0 +1,79 @@
+<?php
+
+/*
+ * This file is part of SwiftMailer.
+ * (c) 2004-2009 Chris Corbyn
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+
+/**
+ * Interface for the EventDispatcher which handles the event dispatching layer.
+ * @package Swift
+ * @subpackage Events
+ * @author Chris Corbyn
+ */
+interface Swift_Events_EventDispatcher
+{
+  
+  /**
+   * Create a new SendEvent for $source and $message.
+   * @param Swift_Transport $source
+   * @param Swift_Mime_Message
+   * @return Swift_Events_SendEvent
+   */
+  public function createSendEvent(Swift_Transport $source,
+    Swift_Mime_Message $message);
+  
+  /**
+   * Create a new CommandEvent for $source and $command.
+   * @param Swift_Transport $source
+   * @param string $command That will be executed
+   * @param array $successCodes That are needed
+   * @return Swift_Events_CommandEvent
+   */
+  public function createCommandEvent(Swift_Transport $source,
+    $command, $successCodes = array());
+  
+  /**
+   * Create a new ResponseEvent for $source and $response.
+   * @param Swift_Transport $source
+   * @param string $response
+   * @param boolean $valid If the response is valid
+   * @return Swift_Events_ResponseEvent
+   */
+  public function createResponseEvent(Swift_Transport $source,
+    $response, $valid);
+  
+  /**
+   * Create a new TransportChangeEvent for $source.
+   * @param Swift_Transport $source
+   * @return Swift_Events_TransportChangeEvent
+   */
+  public function createTransportChangeEvent(Swift_Transport $source);
+  
+  /**
+   * Create a new TransportExceptionEvent for $source.
+   * @param Swift_Transport $source
+   * @param Swift_TransportException $ex
+   * @return Swift_Events_TransportExceptionEvent
+   */
+  public function createTransportExceptionEvent(Swift_Transport $source,
+    Swift_TransportException $ex);
+  
+  /**
+   * Bind an event listener to this dispatcher.
+   * @param Swift_Events_EventListener $listener
+   */
+  public function bindEventListener(Swift_Events_EventListener $listener);
+  
+  /**
+   * Dispatch the given Event to all suitable listeners.
+   * @param Swift_Events_EventObject $evt
+   * @param string $target method
+   */
+  public function dispatchEvent(Swift_Events_EventObject $evt, $target);
+  
+}