nextcloud/lib/public/Share/IProviderFactory.php
Côme Chilliet 998062d342
fix: Cleanup share ProviderFactory to correctly use DI instead of deprecated getters
Ideally circles and talk should migrate to calling registerProvider and
 core would not need to use their OCA classes like currently.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-16 10:48:03 +02:00

46 lines
914 B
PHP

<?php
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
* SPDX-License-Identifier: AGPL-3.0-only
*/
namespace OCP\Share;
use OC\Share20\Exception\ProviderException;
/**
* Interface IProviderFactory
*
* @since 9.0.0
*/
interface IProviderFactory {
/**
* @param string $id
* @return IShareProvider
* @throws ProviderException
* @since 9.0.0
*/
public function getProvider($id);
/**
* @param int $shareType
* @return IShareProvider
* @throws ProviderException
* @since 9.0.0
*/
public function getProviderForType($shareType);
/**
* @return IShareProvider[]
* @since 11.0.0
*/
public function getAllProviders();
/**
* @since 21.0.0
* @since 32.0.0 Fix typo in parameter name
* @param string $shareProviderClass
*/
public function registerProvider(string $shareProviderClass): void;
}