Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/StreamWrapper/PhpStreamWrapperInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/StreamWrapper/PhpStreamWrapperInterface.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,223 @@ +<?php + +namespace Drupal\Core\StreamWrapper; + +/** + * Defines a generic PHP stream wrapper interface. + * + * @see http://php.net/manual/class.streamwrapper.php + */ +interface PhpStreamWrapperInterface { + + /** + * @return bool + */ + public function dir_closedir(); + + /** + * @return bool + */ + public function dir_opendir($path, $options); + + /** + * @return string + */ + public function dir_readdir(); + + /** + * @return bool + */ + public function dir_rewinddir(); + + /** + * @return bool + */ + public function mkdir($path, $mode, $options); + + /** + * @return bool + */ + public function rename($path_from, $path_to); + + /** + * @return bool + */ + public function rmdir($path, $options); + + /** + * Retrieve the underlying stream resource. + * + * This method is called in response to stream_select(). + * + * @param int $cast_as + * Can be STREAM_CAST_FOR_SELECT when stream_select() is calling + * stream_cast() or STREAM_CAST_AS_STREAM when stream_cast() is called for + * other uses. + * + * @return resource|false + * The underlying stream resource or FALSE if stream_select() is not + * supported. + * + * @see stream_select() + * @see http://php.net/manual/streamwrapper.stream-cast.php + */ + public function stream_cast($cast_as); + + /** + * Closes stream. + */ + public function stream_close(); + + /** + * @return bool + */ + public function stream_eof(); + + /** + * @return bool + */ + public function stream_flush(); + + /** + * @return bool + */ + public function stream_lock($operation); + + /** + * Sets metadata on the stream. + * + * @param string $path + * A string containing the URI to the file to set metadata on. + * @param int $option + * One of: + * - STREAM_META_TOUCH: The method was called in response to touch(). + * - STREAM_META_OWNER_NAME: The method was called in response to chown() + * with string parameter. + * - STREAM_META_OWNER: The method was called in response to chown(). + * - STREAM_META_GROUP_NAME: The method was called in response to chgrp(). + * - STREAM_META_GROUP: The method was called in response to chgrp(). + * - STREAM_META_ACCESS: The method was called in response to chmod(). + * @param mixed $value + * If option is: + * - STREAM_META_TOUCH: Array consisting of two arguments of the touch() + * function. + * - STREAM_META_OWNER_NAME or STREAM_META_GROUP_NAME: The name of the owner + * user/group as string. + * - STREAM_META_OWNER or STREAM_META_GROUP: The value of the owner + * user/group as integer. + * - STREAM_META_ACCESS: The argument of the chmod() as integer. + * + * @return bool + * Returns TRUE on success or FALSE on failure. If $option is not + * implemented, FALSE should be returned. + * + * @see http://php.net/manual/streamwrapper.stream-metadata.php + */ + public function stream_metadata($path, $option, $value); + + /** + * @return bool + */ + public function stream_open($path, $mode, $options, &$opened_path); + + /** + * @return string + */ + public function stream_read($count); + + /** + * Seeks to specific location in a stream. + * + * This method is called in response to fseek(). + * + * The read/write position of the stream should be updated according to the + * offset and whence. + * + * @param int $offset + * The byte offset to seek to. + * @param int $whence + * Possible values: + * - SEEK_SET: Set position equal to offset bytes. + * - SEEK_CUR: Set position to current location plus offset. + * - SEEK_END: Set position to end-of-file plus offset. + * Defaults to SEEK_SET. + * + * @return bool + * TRUE if the position was updated, FALSE otherwise. + * + * @see http://php.net/manual/streamwrapper.stream-seek.php + */ + public function stream_seek($offset, $whence = SEEK_SET); + + /** + * Change stream options. + * + * This method is called to set options on the stream. + * + * @param int $option + * One of: + * - STREAM_OPTION_BLOCKING: The method was called in response to + * stream_set_blocking(). + * - STREAM_OPTION_READ_TIMEOUT: The method was called in response to + * stream_set_timeout(). + * - STREAM_OPTION_WRITE_BUFFER: The method was called in response to + * stream_set_write_buffer(). + * @param int $arg1 + * If option is: + * - STREAM_OPTION_BLOCKING: The requested blocking mode: + * - 1 means blocking. + * - 0 means not blocking. + * - STREAM_OPTION_READ_TIMEOUT: The timeout in seconds. + * - STREAM_OPTION_WRITE_BUFFER: The buffer mode, STREAM_BUFFER_NONE or + * STREAM_BUFFER_FULL. + * @param int $arg2 + * If option is: + * - STREAM_OPTION_BLOCKING: This option is not set. + * - STREAM_OPTION_READ_TIMEOUT: The timeout in microseconds. + * - STREAM_OPTION_WRITE_BUFFER: The requested buffer size. + * + * @return bool + * TRUE on success, FALSE otherwise. If $option is not implemented, FALSE + * should be returned. + */ + public function stream_set_option($option, $arg1, $arg2); + + /** + * @return array + */ + public function stream_stat(); + + /** + * @return int + */ + public function stream_tell(); + + /** + * Truncate stream. + * + * Will respond to truncation; e.g., through ftruncate(). + * + * @param int $new_size + * The new size. + * + * @return bool + * TRUE on success, FALSE otherwise. + */ + public function stream_truncate($new_size); + + /** + * @return int + */ + public function stream_write($data); + + /** + * @return bool + */ + public function unlink($path); + + /** + * @return array + */ + public function url_stat($path, $flags); + +}