diff options
Diffstat (limited to 'lib/public/IServerContainer.php')
-rw-r--r-- | lib/public/IServerContainer.php | 313 |
1 files changed, 51 insertions, 262 deletions
diff --git a/lib/public/IServerContainer.php b/lib/public/IServerContainer.php index de48daeef88..6d5095c92da 100644 --- a/lib/public/IServerContainer.php +++ b/lib/public/IServerContainer.php @@ -1,59 +1,27 @@ <?php -/** - * @author Arthur Schiwon <blizzz@owncloud.com> - * @author Bart Visscher <bartv@thisnet.nl> - * @author Bernhard Posselt <dev@bernhard-posselt.com> - * @author Björn Schießle <schiessle@owncloud.com> - * @author Christopher Schäpers <kondou@ts.unde.re> - * @author Joas Schilling <nickvergessen@owncloud.com> - * @author Jörn Friedrich Dreyer <jfd@butonic.de> - * @author Lukas Reschke <lukas@owncloud.com> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin Appelman <icewind@owncloud.com> - * @author Robin McCorkell <robin@mccorkell.me.uk> - * @author Roeland Jago Douma <rullzer@owncloud.com> - * @author Thomas Müller <thomas.mueller@tmit.eu> - * @author Thomas Tanghus <thomas@tanghus.net> - * @author Vincent Petry <pvince81@owncloud.com> - * - * @copyright Copyright (c) 2016, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ +declare(strict_types=1); /** - * Public interface of ownCloud for apps to use. - * Server container interface - * + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-only */ - -// use OCP namespace for all classes that are considered public. -// This means that they should be used by apps instead of the internal ownCloud classes namespace OCP; -use OCP\Security\IContentSecurityPolicyManager; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; +use Psr\Container\ContainerInterface; /** - * Class IServerContainer - * @package OCP + * This is a tagging interface for the server container + * + * The interface currently extends IContainer, but this interface is deprecated as of Nextcloud 20, + * thus this interface won't extend it anymore once that was removed. So migrate to the ContainerInterface + * only. + * + * @deprecated 20.0.0 * - * This container holds all ownCloud services * @since 6.0.0 */ -interface IServerContainer { +interface IServerContainer extends ContainerInterface, IContainer { /** * The contacts manager will act as a broker between consumers for contacts information and @@ -61,6 +29,7 @@ interface IServerContainer { * * @return \OCP\Contacts\IManager * @since 6.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getContactsManager(); @@ -71,31 +40,16 @@ interface IServerContainer { * * @return \OCP\IRequest * @since 6.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getRequest(); /** - * Returns the preview manager which can create preview images for a given file - * - * @return \OCP\IPreview - * @since 6.0.0 - */ - public function getPreviewManager(); - - /** - * Returns the tag manager which can get and set tags for different object types - * - * @see \OCP\ITagManager::load() - * @return \OCP\ITagManager - * @since 6.0.0 - */ - public function getTagManager(); - - /** * Returns the root folder of ownCloud's data directory * * @return \OCP\Files\IRootFolder * @since 6.0.0 - between 6.0.0 and 8.0.0 this returned \OCP\Files\Folder + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getRootFolder(); @@ -106,22 +60,16 @@ interface IServerContainer { * @return \OCP\Files\Folder * @since 6.0.0 - parameter $userId was added in 8.0.0 * @see getUserFolder in \OCP\Files\IRootFolder + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getUserFolder($userId = null); /** - * Returns an app-specific view in ownClouds data directory - * - * @return \OCP\Files\Folder - * @since 6.0.0 - */ - public function getAppFolder(); - - /** * Returns a user manager * * @return \OCP\IUserManager * @since 8.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getUserManager(); @@ -130,6 +78,7 @@ interface IServerContainer { * * @return \OCP\IGroupManager * @since 8.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getGroupManager(); @@ -138,22 +87,16 @@ interface IServerContainer { * * @return \OCP\IUserSession * @since 6.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getUserSession(); /** - * Returns the navigation manager - * - * @return \OCP\INavigationManager - * @since 6.0.0 - */ - public function getNavigationManager(); - - /** * Returns the config manager * * @return \OCP\IConfig * @since 6.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getConfig(); @@ -162,6 +105,7 @@ interface IServerContainer { * * @return \OCP\Security\ICrypto * @since 8.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getCrypto(); @@ -170,6 +114,7 @@ interface IServerContainer { * * @return \OCP\Security\IHasher * @since 8.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getHasher(); @@ -178,36 +123,14 @@ interface IServerContainer { * * @return \OCP\Security\ISecureRandom * @since 8.1.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getSecureRandom(); /** - * Returns a CredentialsManager instance - * - * @return \OCP\Security\ICredentialsManager - * @since 9.0.0 - */ - public function getCredentialsManager(); - - /** - * Returns an instance of the db facade - * @deprecated 8.1.0 use getDatabaseConnection, will be removed in ownCloud 10 - * @return \OCP\IDb - * @since 7.0.0 - */ - public function getDb(); - - /** - * Returns the app config manager - * - * @return \OCP\IAppConfig - * @since 7.0.0 - */ - public function getAppConfig(); - - /** * @return \OCP\L10N\IFactory * @since 8.2.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getL10NFactory(); @@ -217,48 +140,39 @@ interface IServerContainer { * @param string $lang * @return \OCP\IL10N * @since 6.0.0 - parameter $lang was added in 8.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getL10N($app, $lang = null); /** * @return \OC\Encryption\Manager * @since 8.1.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getEncryptionManager(); /** * @return \OC\Encryption\File * @since 8.1.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getEncryptionFilesHelper(); /** - * @return \OCP\Encryption\Keys\IStorage - * @since 8.1.0 - */ - public function getEncryptionKeyStorage(); - - /** * Returns the URL generator * * @return \OCP\IURLGenerator * @since 6.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getURLGenerator(); /** - * Returns the Helper - * - * @return \OCP\IHelper - * @since 6.0.0 - */ - public function getHelper(); - - /** * Returns an ICache instance * * @return \OCP\ICache * @since 6.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getCache(); @@ -267,6 +181,7 @@ interface IServerContainer { * * @return \OCP\ICacheFactory * @since 7.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getMemCacheFactory(); @@ -275,6 +190,7 @@ interface IServerContainer { * * @return \OCP\ISession * @since 6.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getSession(); @@ -283,6 +199,7 @@ interface IServerContainer { * * @return \OCP\Activity\IManager * @since 6.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getActivityManager(); @@ -291,105 +208,34 @@ interface IServerContainer { * * @return \OCP\IDBConnection * @since 6.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getDatabaseConnection(); /** - * Returns an avatar manager, used for avatar functionality - * - * @return \OCP\IAvatarManager - * @since 6.0.0 - */ - public function getAvatarManager(); - - /** * Returns an job list for controlling background jobs * * @return \OCP\BackgroundJob\IJobList * @since 7.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getJobList(); /** - * Returns a logger instance + * Get the certificate manager * - * @return \OCP\ILogger + * @return \OCP\ICertificateManager * @since 8.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ - public function getLogger(); - - /** - * Returns a router for generating and matching urls - * - * @return \OCP\Route\IRouter - * @since 7.0.0 - */ - public function getRouter(); - - /** - * Returns a search instance - * - * @return \OCP\ISearch - * @since 7.0.0 - */ - public function getSearch(); - - /** - * Get the certificate manager for the user - * - * @param string $userId (optional) if not specified the current loggedin user is used, use null to get the system certificate manager - * @return \OCP\ICertificateManager | null if $userId is null and no user is logged in - * @since 8.0.0 - */ - public function getCertificateManager($userId = null); - - /** - * Create a new event source - * - * @return \OCP\IEventSource - * @since 8.0.0 - */ - public function createEventSource(); - - /** - * Returns an instance of the HTTP helper class - * @return \OC\HTTPHelper - * @deprecated 8.1.0 Use \OCP\Http\Client\IClientService - * @since 8.0.0 - */ - public function getHTTPHelper(); - - /** - * Returns an instance of the HTTP client service - * - * @return \OCP\Http\Client\IClientService - * @since 8.1.0 - */ - public function getHTTPClientService(); - - /** - * Get the active event logger - * - * @return \OCP\Diagnostics\IEventLogger - * @since 8.0.0 - */ - public function getEventLogger(); - - /** - * Get the active query logger - * - * The returned logger only logs data when debug mode is enabled - * - * @return \OCP\Diagnostics\IQueryLogger - * @since 8.0.0 - */ - public function getQueryLogger(); + public function getCertificateManager(); /** * Get the manager for temporary files and folders * * @return \OCP\ITempManager * @since 8.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getTempManager(); @@ -398,6 +244,7 @@ interface IServerContainer { * * @return \OCP\App\IAppManager * @since 8.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getAppManager(); @@ -406,33 +253,16 @@ interface IServerContainer { * * @return string * @since 8.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getWebRoot(); /** - * @return \OCP\Files\Config\IMountProviderCollection - * @since 8.0.0 - */ - public function getMountProviderCollection(); - - /** - * Get the IniWrapper - * - * @return \bantu\IniGetWrapper\IniGetWrapper - * @since 8.0.0 - */ - public function getIniWrapper(); - /** - * @return \OCP\Command\IBus - * @since 8.1.0 - */ - public function getCommandBus(); - - /** * Creates a new mailer * * @return \OCP\Mail\IMailer * @since 8.1.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getMailer(); @@ -441,20 +271,16 @@ interface IServerContainer { * * @return \OCP\Lock\ILockingProvider * @since 8.1.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getLockingProvider(); /** - * @return \OCP\Files\Mount\IMountManager - * @since 8.2.0 - */ - public function getMountManager(); - - /** * Get the MimeTypeDetector * * @return \OCP\Files\IMimeTypeDetector * @since 8.2.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getMimeTypeDetector(); @@ -463,60 +289,23 @@ interface IServerContainer { * * @return \OCP\Files\IMimeTypeLoader * @since 8.2.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getMimeTypeLoader(); /** - * Get the EventDispatcher - * - * @return EventDispatcherInterface - * @since 8.2.0 - */ - public function getEventDispatcher(); - - /** * Get the Notification Manager * * @return \OCP\Notification\IManager * @since 9.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ public function getNotificationManager(); /** - * @return \OCP\Comments\ICommentsManager - * @since 9.0.0 - */ - public function getCommentsManager(); - - /** - * Returns the system-tag manager - * - * @return \OCP\SystemTag\ISystemTagManager - * - * @since 9.0.0 - */ - public function getSystemTagManager(); - - /** - * Returns the system-tag object mapper - * - * @return \OCP\SystemTag\ISystemTagObjectMapper - * - * @since 9.0.0 - */ - public function getSystemTagObjectMapper(); - - /** - * Returns the share manager - * - * @return \OCP\Share\IManager - * @since 9.0.0 - */ - public function getShareManager(); - - /** - * @return IContentSecurityPolicyManager - * @since 9.0.0 + * @return \OCP\Federation\ICloudIdManager + * @since 12.0.0 + * @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get */ - public function getContentSecurityPolicyManager(); + public function getCloudIdManager(); } |