* @package Swift_Connection * @license GNU Lesser General Public License */ /** * Swift Connection Interface * Lists methods which are required by any connections * @package Swift_Connection * @author Chris Corbyn */ interface Swift_Connection { /** * Try to start the connection * @throws Swift_ConnectionException If the connection cannot be started */ public function start(); /** * Return the contents of the buffer * @return string * @throws Swift_ConnectionException If the buffer cannot be read */ public function read(); /** * Write a command to the buffer * @param string The command to send * @throws Swift_ConnectionException If the write fails */ public function write($command, $end="\r\n"); /** * Try to stop the connection * @throws Swift_ConnectionException If the connection cannot be closed/stopped */ public function stop(); /** * Check if the connection is up or not * @return boolean */ public function isAlive(); /** * Add an extension which is available on this connection * @param string The name of the extension * @param array The list of attributes for the extension */ public function setExtension($name, $list=array()); /** * Check if an extension exists by the name $name * @param string The name of the extension * @return boolean */ public function hasExtension($name); /** * Get the list of attributes for the extension $name * @param string The name of the extension * @return array * @throws Swift_ConnectionException If no such extension can be found */ public function getAttributes($name); /** * Execute logic needed after SMTP greetings * @param Swift An instance of Swift */ public function postConnect(Swift $instance); /** * Returns TRUE if the connection needs a EHLO greeting. * @return boolean */ public function getRequiresEHLO(); /** * Set if the connection needs a EHLO greeting. * @param boolean */ public function setRequiresEHLO($set); }