vendor/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php
changeset 0 7f95f8617b0b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php	Sat Sep 24 15:40:41 2011 +0200
@@ -0,0 +1,63 @@
+<?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.
+ */
+
+
+/**
+ * Buffers input and output to a resource.
+ * @package Swift
+ * @subpackage Transport
+ * @author Chris Corbyn
+ */
+interface Swift_Transport_IoBuffer
+  extends Swift_InputByteStream, Swift_OutputByteStream
+{
+  
+  /** A socket buffer over TCP */
+  const TYPE_SOCKET = 0x0001;
+  
+  /** A process buffer with I/O support */
+  const TYPE_PROCESS = 0x0010;
+  
+  /**
+   * Perform any initialization needed, using the given $params.
+   * Parameters will vary depending upon the type of IoBuffer used.
+   * @param array $params
+   */
+  public function initialize(array $params);
+  
+  /**
+   * Set an individual param on the buffer (e.g. switching to SSL).
+   * @param string $param
+   * @param mixed $value
+   */
+  public function setParam($param, $value);
+  
+  /**
+   * Perform any shutdown logic needed.
+   */
+  public function terminate();
+  
+  /**
+   * Set an array of string replacements which should be made on data written
+   * to the buffer.  This could replace LF with CRLF for example.
+   * @param string[] $replacements
+   */
+  public function setWriteTranslations(array $replacements);
+  
+  /**
+   * Get a line of output (including any CRLF).
+   * The $sequence number comes from any writes and may or may not be used
+   * depending upon the implementation.
+   * @param int $sequence of last write to scan from
+   * @return string
+   */
+  public function readLine($sequence);
+  
+}