%PDF- %PDF-
Direktori : /www/varak.net/nextcloud.varak.net/apps_old/apps/files_external/lib/Lib/ |
Current File : //www/varak.net/nextcloud.varak.net/apps_old/apps/files_external/lib/Lib/StorageModifierTrait.php |
<?php /** * SPDX-FileCopyrightText: 2018-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. * SPDX-License-Identifier: AGPL-3.0-only */ namespace OCA\Files_External\Lib; use OCP\Files\Storage; use OCP\Files\StorageNotAvailableException; use OCP\IUser; /** * Trait for objects that can modify StorageConfigs and wrap Storages * * When a storage implementation is being prepared for use, the StorageConfig * is passed through manipulateStorageConfig() to update any parameters as * necessary. After the storage implementation has been constructed, it is * passed through wrapStorage(), potentially replacing the implementation with * a wrapped storage that changes its behaviour. * * Certain configuration options need to be set before the implementation is * constructed, while others are retrieved directly from the storage * implementation and so need a wrapper to be modified. */ trait StorageModifierTrait { /** * Modify a StorageConfig parameters * * @param StorageConfig $storage * @param IUser $user User the storage is being used as * @return void * @throws InsufficientDataForMeaningfulAnswerException * @throws StorageNotAvailableException */ public function manipulateStorageConfig(StorageConfig &$storage, ?IUser $user = null) { } /** * Wrap a Storage if necessary * * @param Storage $storage * @return Storage * @throws InsufficientDataForMeaningfulAnswerException * @throws StorageNotAvailableException */ public function wrapStorage(Storage $storage) { return $storage; } }