123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- <?php
- /**
- * SPDX-FileCopyrightText: 2014 Robin Appelman <robin@icewind.nl>
- * SPDX-License-Identifier: MIT
- */
- namespace Icewind\SMB;
- use Icewind\SMB\Exception\AlreadyExistsException;
- use Icewind\SMB\Exception\InvalidRequestException;
- use Icewind\SMB\Exception\InvalidTypeException;
- use Icewind\SMB\Exception\NotFoundException;
- interface IShare {
- /**
- * Get the name of the share
- *
- * @return string
- */
- public function getName(): string;
- /**
- * Download a remote file
- *
- * @param string $source remote file
- * @param string $target local file
- * @return bool
- *
- * @throws NotFoundException
- * @throws InvalidTypeException
- */
- public function get(string $source, string $target): bool;
- /**
- * Upload a local file
- *
- * @param string $source local file
- * @param string $target remote file
- * @return bool
- *
- * @throws NotFoundException
- * @throws InvalidTypeException
- */
- public function put(string $source, string $target): bool;
- /**
- * Open a readable stream to a remote file
- *
- * @param string $source
- * @return resource a read only stream with the contents of the remote file
- *
- * @throws NotFoundException
- * @throws InvalidTypeException
- */
- public function read(string $source);
- /**
- * Open a writable stream to a remote file
- * Note: This method will truncate the file to 0bytes
- *
- * @param string $target
- * @return resource a write only stream to upload a remote file
- *
- * @throws NotFoundException
- * @throws InvalidTypeException
- */
- public function write(string $target);
- /**
- * Open a writable stream to a remote file and set the cursor to the end of the file
- *
- * @param string $target
- * @return resource a write only stream to upload a remote file
- *
- * @throws NotFoundException
- * @throws InvalidTypeException
- * @throws InvalidRequestException
- */
- public function append(string $target);
- /**
- * Rename a remote file
- *
- * @param string $from
- * @param string $to
- * @return bool
- *
- * @throws NotFoundException
- * @throws AlreadyExistsException
- */
- public function rename(string $from, string $to): bool;
- /**
- * Delete a file on the share
- *
- * @param string $path
- * @return bool
- *
- * @throws NotFoundException
- * @throws InvalidTypeException
- */
- public function del(string $path): bool;
- /**
- * List the content of a remote folder
- *
- * @param string $path
- * @return IFileInfo[]
- *
- * @throws NotFoundException
- * @throws InvalidTypeException
- */
- public function dir(string $path): array;
- /**
- * @param string $path
- * @return IFileInfo
- *
- * @throws NotFoundException
- */
- public function stat(string $path): IFileInfo;
- /**
- * Create a folder on the share
- *
- * @param string $path
- * @return bool
- *
- * @throws NotFoundException
- * @throws AlreadyExistsException
- */
- public function mkdir(string $path): bool;
- /**
- * Remove a folder on the share
- *
- * @param string $path
- * @return bool
- *
- * @throws NotFoundException
- * @throws InvalidTypeException
- */
- public function rmdir(string $path): bool;
- /**
- * @param string $path
- * @param int $mode a combination of FileInfo::MODE_READONLY, FileInfo::MODE_ARCHIVE, FileInfo::MODE_SYSTEM and FileInfo::MODE_HIDDEN, FileInfo::NORMAL
- * @return mixed
- */
- public function setMode(string $path, int $mode);
- /**
- * @param string $path
- * @return INotifyHandler
- */
- public function notify(string $path);
- /**
- * Get the IServer instance for this share
- *
- * @return IServer
- */
- public function getServer(): IServer;
- }
|