2014-07-06 16:31:39 +00:00
|
|
|
<?php
|
|
|
|
/*
|
|
|
|
* This file is part of VFS
|
|
|
|
*
|
2015-07-21 14:17:00 +00:00
|
|
|
* Copyright (c) 2015 Andrew Lawson <http://adlawson.com>
|
2014-07-06 16:31:39 +00:00
|
|
|
*
|
|
|
|
* For the full copyright and license information, please view the LICENSE
|
|
|
|
* file that was distributed with this source code.
|
|
|
|
*/
|
|
|
|
namespace Vfs;
|
|
|
|
|
|
|
|
use Vfs\Exception\RegisteredSchemeException;
|
|
|
|
use Vfs\Exception\UnregisteredSchemeException;
|
|
|
|
|
|
|
|
interface RegistryInterface
|
|
|
|
{
|
|
|
|
/**
|
2014-09-06 14:15:08 +00:00
|
|
|
* @param string $scheme
|
|
|
|
* @param FileSystemInterface $fs
|
2014-07-06 16:31:39 +00:00
|
|
|
* @throws RegisteredSchemeException If a mounted file system exists at scheme
|
|
|
|
*/
|
|
|
|
public function add($scheme, FileSystemInterface $fs);
|
|
|
|
|
|
|
|
/**
|
2014-09-06 14:15:08 +00:00
|
|
|
* @param string $scheme
|
2014-07-06 16:31:39 +00:00
|
|
|
* @return FileSystemInterface
|
|
|
|
* @throws UnregisteredSchemeException If a mounted file system doesn't exist at scheme
|
|
|
|
*/
|
|
|
|
public function get($scheme);
|
|
|
|
|
|
|
|
/**
|
2014-09-06 14:15:08 +00:00
|
|
|
* @param string $scheme
|
2014-07-06 16:31:39 +00:00
|
|
|
* @return boolean
|
|
|
|
*/
|
|
|
|
public function has($scheme);
|
|
|
|
|
|
|
|
/**
|
2014-09-06 14:15:08 +00:00
|
|
|
* @param string $scheme
|
2014-07-06 16:31:39 +00:00
|
|
|
* @return FileSystemInterface
|
|
|
|
* @throws UnregisteredSchemeException If a mounted file system doesn't exist at scheme
|
|
|
|
*/
|
|
|
|
public function remove($scheme);
|
|
|
|
}
|