From 5fb8a4715d6ed34b1d94c5508700f3c488c0f734 Mon Sep 17 00:00:00 2001 From: Vincent Petry <pvince81@owncloud.com> Date: Wed, 21 Jan 2015 21:54:43 +0100 Subject: [PATCH] removeStorageWrapper to unregister a storage wrapper --- lib/private/files/filesystem.php | 10 ++++++++++ lib/private/files/storage/storagefactory.php | 17 ++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/lib/private/files/filesystem.php b/lib/private/files/filesystem.php index 0a0c5c3612..5fa3428643 100644 --- a/lib/private/files/filesystem.php +++ b/lib/private/files/filesystem.php @@ -186,6 +186,11 @@ class Filesystem { } } + /** + * Returns the storage factory + * + * @return \OCP\Files\Storage\IStorageFactory + */ public static function getLoader() { if (!self::$loader) { self::$loader = new StorageFactory(); @@ -193,6 +198,11 @@ class Filesystem { return self::$loader; } + /** + * Returns the mount manager + * + * @return \OC\Files\Filesystem\Mount\Manager + */ public static function getMountManager() { if (!self::$mounts) { \OC_Util::setupFS(); diff --git a/lib/private/files/storage/storagefactory.php b/lib/private/files/storage/storagefactory.php index 9c1c7325b7..6fa360fa84 100644 --- a/lib/private/files/storage/storagefactory.php +++ b/lib/private/files/storage/storagefactory.php @@ -21,9 +21,9 @@ class StorageFactory implements IStorageFactory { * * $callback should be a function of type (string $mountPoint, Storage $storage) => Storage * - * @param string $wrapperName - * @param callable $callback - * @return true if the wrapper was added, false if there was already a wrapper with this + * @param string $wrapperName name of the wrapper + * @param callable $callback callback + * @return bool true if the wrapper was added, false if there was already a wrapper with this * name registered */ public function addStorageWrapper($wrapperName, $callback) { @@ -34,6 +34,17 @@ class StorageFactory implements IStorageFactory { return true; } + /** + * Remove a storage wrapper by name. + * Note: internal method only to be used for cleanup + * + * @param string $wrapperName name of the wrapper + * @internal + */ + public function removeStorageWrapper($wrapperName) { + unset($this->storageWrappers[$wrapperName]); + } + /** * Create an instance of a storage and apply the registered storage wrappers * -- GitLab