1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219:
<?php
namespace Guzzle\Stream;
/**
* OO interface to PHP streams
*/
interface StreamInterface
{
/**
* Convert the stream to a string if the stream is readable and the stream is seekable.
*
* @return string
*/
public function __toString();
/**
* Close the underlying stream
*/
public function close();
/**
* Get stream metadata
*
* @param string $key Specific metadata to retrieve
*
* @return array|mixed|null
*/
public function getMetaData($key = null);
/**
* Get the stream resource
*
* @return resource
*/
public function getStream();
/**
* Set the stream that is wrapped by the object
*
* @param resource $stream Stream resource to wrap
* @param int $size Size of the stream in bytes. Only pass if the size cannot be obtained from the stream.
*
* @return self
*/
public function setStream($stream, $size = null);
/**
* Detach the current stream resource
*
* @return self
*/
public function detachStream();
/**
* Get the stream wrapper type
*
* @return string
*/
public function getWrapper();
/**
* Wrapper specific data attached to this stream.
*
* @return array
*/
public function getWrapperData();
/**
* Get a label describing the underlying implementation of the stream
*
* @return string
*/
public function getStreamType();
/**
* Get the URI/filename associated with this stream
*
* @return string
*/
public function getUri();
/**
* Get the size of the stream if able
*
* @return int|bool
*/
public function getSize();
/**
* Check if the stream is readable
*
* @return bool
*/
public function isReadable();
/**
* Check if the stream is repeatable
*
* @return bool
*/
public function isRepeatable();
/**
* Check if the stream is writable
*
* @return bool
*/
public function isWritable();
/**
* Check if the stream has been consumed
*
* @return bool
*/
public function isConsumed();
/**
* Alias of isConsumed
*
* @return bool
*/
public function feof();
/**
* Check if the stream is a local stream vs a remote stream
*
* @return bool
*/
public function isLocal();
/**
* Check if the string is repeatable
*
* @return bool
*/
public function isSeekable();
/**
* Specify the size of the stream in bytes
*
* @param int $size Size of the stream contents in bytes
*
* @return self
*/
public function setSize($size);
/**
* Seek to a position in the stream
*
* @param int $offset Stream offset
* @param int $whence Where the offset is applied
*
* @return bool Returns TRUE on success or FALSE on failure
* @link http://www.php.net/manual/en/function.fseek.php
*/
public function seek($offset, $whence = SEEK_SET);
/**
* Read data from the stream
*
* @param int $length Up to length number of bytes read.
*
* @return string|bool Returns the data read from the stream or FALSE on failure or EOF
*/
public function read($length);
/**
* Write data to the stream
*
* @param string $string The string that is to be written.
*
* @return int|bool Returns the number of bytes written to the stream on success or FALSE on failure.
*/
public function write($string);
/**
* Returns the current position of the file read/write pointer
*
* @return int|bool Returns the position of the file pointer or false on error
*/
public function ftell();
/**
* Rewind to the beginning of the stream
*
* @return bool Returns true on success or false on failure
*/
public function rewind();
/**
* Read a line from the stream up to the maximum allowed buffer length
*
* @param int $maxLength Maximum buffer length
*
* @return string|bool
*/
public function readLine($maxLength = null);
/**
* Set custom data on the stream
*
* @param string $key Key to set
* @param mixed $value Value to set
*
* @return self
*/
public function setCustomData($key, $value);
/**
* Get custom data from the stream
*
* @param string $key Key to retrieve
*
* @return null|mixed
*/
public function getCustomData($key);
}