aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public/IServerContainer.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/public/IServerContainer.php')
-rw-r--r--lib/public/IServerContainer.php313
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();
}