TYPO3 API  SVNRelease
IoBuffer.php
Go to the documentation of this file.
00001 <?php
00002 
00003 /*
00004  * This file is part of SwiftMailer.
00005  * (c) 2004-2009 Chris Corbyn
00006  *
00007  * For the full copyright and license information, please view the LICENSE
00008  * file that was distributed with this source code.
00009  */
00010 
00011 //@require 'Swift/InputByteStream.php';
00012 //@require 'Swift/OutputByteStream.php';
00013 
00014 /**
00015  * Buffers input and output to a resource.
00016  * @package Swift
00017  * @subpackage Transport
00018  * @author Chris Corbyn
00019  */
00020 interface Swift_Transport_IoBuffer
00021   extends Swift_InputByteStream, Swift_OutputByteStream
00022 {
00023 
00024   /** A socket buffer over TCP */
00025   const TYPE_SOCKET = 0x0001;
00026 
00027   /** A process buffer with I/O support */
00028   const TYPE_PROCESS = 0x0010;
00029 
00030   /**
00031    * Perform any initialization needed, using the given $params.
00032    * Parameters will vary depending upon the type of IoBuffer used.
00033    * @param array $params
00034    */
00035   public function initialize(array $params);
00036 
00037   /**
00038    * Set an individual param on the buffer (e.g. switching to SSL).
00039    * @param string $param
00040    * @param mixed $value
00041    */
00042   public function setParam($param, $value);
00043 
00044   /**
00045    * Perform any shutdown logic needed.
00046    */
00047   public function terminate();
00048 
00049   /**
00050    * Set an array of string replacements which should be made on data written
00051    * to the buffer.  This could replace LF with CRLF for example.
00052    * @param string[] $replacements
00053    */
00054   public function setWriteTranslations(array $replacements);
00055 
00056   /**
00057    * Get a line of output (including any CRLF).
00058    * The $sequence number comes from any writes and may or may not be used
00059    * depending upon the implementation.
00060    * @param int $sequence of last write to scan from
00061    * @return string
00062    */
00063   public function readLine($sequence);
00064 
00065 }