nextcloud/lib/public/IServerContainer.php

653 lines
19 KiB
PHP
Raw Normal View History

2013-08-21 02:58:15 +04:00
<?php
declare(strict_types=1);
2013-08-31 03:41:24 +04:00
/**
2016-07-21 18:07:57 +03:00
* @copyright Copyright (c) 2016, ownCloud, Inc.
*
2016-05-26 20:56:05 +03:00
* @author Arthur Schiwon <blizzz@arthur-schiwon.de>
2015-03-26 13:44:34 +03:00
* @author Bart Visscher <bartv@thisnet.nl>
* @author Bernhard Posselt <dev@bernhard-posselt.com>
* @author Bjoern Schiessle <bjoern@schiessle.org>
2016-05-26 20:56:05 +03:00
* @author Björn Schießle <bjoern@schiessle.org>
2015-03-26 13:44:34 +03:00
* @author Christopher Schäpers <kondou@ts.unde.re>
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
* @author Georg Ehrke <oc.list@georgehrke.com>
2016-07-21 18:07:57 +03:00
* @author Joas Schilling <coding@schilljs.com>
2015-03-26 13:44:34 +03:00
* @author Jörn Friedrich Dreyer <jfd@butonic.de>
2016-05-26 20:56:05 +03:00
* @author Lukas Reschke <lukas@statuscode.ch>
2015-03-26 13:44:34 +03:00
* @author Morris Jobke <hey@morrisjobke.de>
2016-07-21 19:13:36 +03:00
* @author Robin Appelman <robin@icewind.nl>
2016-01-12 17:02:16 +03:00
* @author Robin McCorkell <robin@mccorkell.me.uk>
2016-07-21 18:07:57 +03:00
* @author Roeland Jago Douma <roeland@famdouma.nl>
2015-03-26 13:44:34 +03:00
* @author Thomas Müller <thomas.mueller@tmit.eu>
* @author Thomas Tanghus <thomas@tanghus.net>
2016-01-12 17:02:16 +03:00
* @author Vincent Petry <pvince81@owncloud.com>
2013-08-31 03:41:24 +04:00
*
2015-03-26 13:44:34 +03:00
* @license AGPL-3.0
2013-08-31 03:41:24 +04:00
*
2015-03-26 13:44:34 +03:00
* 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.
2013-08-31 03:41:24 +04:00
*
2015-03-26 13:44:34 +03:00
* This program is distributed in the hope that it will be useful,
2013-08-31 03:41:24 +04:00
* but WITHOUT ANY WARRANTY; without even the implied warranty of
2015-03-26 13:44:34 +03:00
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
2013-08-31 03:41:24 +04:00
*
2015-03-26 13:44:34 +03:00
* 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/>
2013-08-31 03:41:24 +04:00
*
*/
namespace OCP;
use OCP\Federation\ICloudFederationFactory;
use OCP\Federation\ICloudFederationProviderManager;
use OCP\Log\ILogFactory;
Add public API to give developers the possibility to adjust the global CSP defaults Allows to inject something into the default content policy. This is for example useful when you're injecting Javascript code into a view belonging to another controller and cannot modify its Content-Security-Policy itself. Note that the adjustment is only applied to applications that use AppFramework controllers. To use this from your `app.php` use `\OC::$server->getContentSecurityPolicyManager()->addDefaultPolicy($policy)`, $policy has to be of type `\OCP\AppFramework\Http\ContentSecurityPolicy`. To test this add something like the following into an `app.php` of any enabled app: ``` $manager = \OC::$server->getContentSecurityPolicyManager(); $policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false); $policy->addAllowedFrameDomain('asdf'); $policy->addAllowedScriptDomain('yolo.com'); $policy->allowInlineScript(false); $manager->addDefaultPolicy($policy); $policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false); $policy->addAllowedFontDomain('yolo.com'); $manager->addDefaultPolicy($policy); $policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false); $policy->addAllowedFrameDomain('banana.com'); $manager->addDefaultPolicy($policy); ``` If you now open the files app the policy should be: ``` Content-Security-Policy:default-src 'none';script-src yolo.com 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self' data: blob:;font-src yolo.com 'self';connect-src 'self';media-src 'self';frame-src asdf banana.com 'self' ```
2016-01-28 16:33:02 +03:00
use OCP\Security\IContentSecurityPolicyManager;
use Psr\Container\ContainerInterface;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
2013-08-21 02:58:15 +04:00
/**
* 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.
2013-08-21 02:58:15 +04:00
*
* @since 6.0.0
2013-08-21 02:58:15 +04:00
*/
interface IServerContainer extends ContainerInterface, IContainer {
2013-08-21 02:58:15 +04:00
/**
* The calendar manager will act as a broker between consumers for calendar information and
* providers which actual deliver the calendar information.
*
* @return \OCP\Calendar\IManager
* @since 13.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getCalendarManager();
/**
* The calendar resource backend manager will act as a broker between consumers
* for calendar resource information an providers which actual deliver the room information.
*
* @return \OCP\Calendar\Resource\IBackend
* @since 14.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getCalendarResourceBackendManager();
/**
* The calendar room backend manager will act as a broker between consumers
* for calendar room information an providers which actual deliver the room information.
*
* @return \OCP\Calendar\Room\IBackend
* @since 14.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getCalendarRoomBackendManager();
/**
2013-08-31 22:57:16 +04:00
* The contacts manager will act as a broker between consumers for contacts information and
* providers which actual deliver the contact information.
*
* @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();
2013-08-31 22:57:16 +04:00
/**
* The current request object holding all information about the request currently being processed
* is returned from this method.
* In case the current execution was not initiated by a web request null is returned
*
2015-04-01 13:13:49 +03:00
* @return \OCP\IRequest
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2013-08-31 22:57:16 +04:00
*/
public function getRequest();
2013-08-31 22:57:16 +04:00
2013-09-05 01:45:11 +04:00
/**
* Returns the preview manager which can create preview images for a given file
*
* @return \OCP\IPreview
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2013-09-05 01:45:11 +04:00
*/
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
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
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();
/**
* Returns a view to ownCloud's files folder
*
* @param string $userId user ID
* @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 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();
2014-07-16 16:25:31 +04:00
/**
* Returns a group manager
*
* @return \OCP\IGroupManager
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2014-07-16 16:25:31 +04:00
*/
public function getGroupManager();
2014-07-16 16:25:31 +04:00
2013-09-20 14:45:56 +04:00
/**
* Returns the user session
*
* @return \OCP\IUserSession
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2013-09-20 14:45:56 +04:00
*/
public function getUserSession();
2013-09-20 14:45:56 +04:00
/**
* Returns the navigation manager
*
* @return \OCP\INavigationManager
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
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();
/**
* Returns a Crypto instance
*
* @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();
/**
* Returns a Hasher instance
*
* @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();
2014-04-19 21:30:12 +04:00
/**
* Returns a SecureRandom instance
*
* @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
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getCredentialsManager();
/**
* Returns the app config manager
*
* @return \OCP\IAppConfig
* @since 7.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
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();
2013-09-25 20:34:01 +04:00
/**
* get an L10N instance
2014-03-01 00:03:43 +04:00
* @param string $app appid
2014-08-31 12:20:00 +04:00
* @param string $lang
2013-09-25 20:34:01 +04:00
* @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
2013-09-25 20:34:01 +04:00
*/
public function getL10N($app, $lang = null);
2013-09-25 20:34:01 +04:00
2015-03-30 12:49:03 +03:00
/**
* @return \OC\Encryption\Manager
* @since 8.1.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2015-03-30 12:49:03 +03:00
*/
public function getEncryptionManager();
2015-03-30 12:49:03 +03:00
/**
* @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();
2015-03-30 12:49:03 +03:00
/**
* @return \OCP\Encryption\Keys\IStorage
* @since 8.1.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2015-03-30 12:49:03 +03:00
*/
public function getEncryptionKeyStorage();
2015-03-30 12:49:03 +03:00
/**
* 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 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();
/**
2014-01-08 18:51:40 +04:00
* Returns an \OCP\CacheFactory instance
*
* @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();
/**
* Returns the current session
*
* @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();
/**
* Returns the activity manager
*
* @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();
2013-09-20 16:33:45 +04:00
/**
* Returns the current session
*
* @return \OCP\IDBConnection
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2013-09-20 16:33:45 +04:00
*/
public function getDatabaseConnection();
2013-09-20 16:33:45 +04:00
2013-09-20 13:46:11 +04:00
/**
* Returns an avatar manager, used for avatar functionality
*
2013-11-22 15:34:37 +04:00
* @return \OCP\IAvatarManager
* @since 6.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2013-09-20 13:46:11 +04:00
*/
public function getAvatarManager();
2013-09-20 13:46:11 +04:00
/**
* 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
*
* @return \OCP\ILogger
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getLogger();
/**
* returns a log factory instance
*
* @return ILogFactory
* @since 14.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getLogFactory();
/**
* Returns a router for generating and matching urls
*
* @return \OCP\Route\IRouter
* @since 7.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getRouter();
/**
* Returns a search instance
*
* @return \OCP\ISearch
* @since 7.0.0
* @deprecated 20.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
2015-06-17 16:47:45 +03:00
* @return \OCP\ICertificateManager | null if $userId is null and no user is logged in
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getCertificateManager($userId = null);
2015-02-24 19:15:21 +03:00
2014-08-29 19:19:38 +04:00
/**
2014-09-04 03:10:02 +04:00
* Create a new event source
2014-08-29 19:19:38 +04:00
*
* @return \OCP\IEventSource
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2014-08-29 19:19:38 +04:00
*/
public function createEventSource();
2015-03-16 13:28:23 +03:00
/**
* Returns an instance of the HTTP client service
*
* @return \OCP\Http\Client\IClientService
* @since 8.1.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2015-03-16 13:28:23 +03:00
*/
public function getHTTPClientService();
2015-03-16 13:28:23 +03:00
/**
* Get the active event logger
*
2014-10-03 22:39:09 +04:00
* @return \OCP\Diagnostics\IEventLogger
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getEventLogger();
/**
* Get the active query logger
*
* The returned logger only logs data when debug mode is enabled
*
2014-10-03 22:39:09 +04:00
* @return \OCP\Diagnostics\IQueryLogger
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getQueryLogger();
/**
* 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();
/**
* Get the app manager
*
* @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();
2014-11-27 16:36:11 +03:00
/**
* Get the webroot
*
* @return string
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2014-11-27 16:36:11 +03:00
*/
public function getWebRoot();
/**
* @return \OCP\Files\Config\IMountProviderCollection
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getMountProviderCollection();
2014-12-05 21:56:29 +03:00
/**
* Get the IniWrapper
*
* @return \bantu\IniGetWrapper\IniGetWrapper
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2014-12-05 21:56:29 +03:00
*/
public function getIniWrapper();
/**
* @return \OCP\Command\IBus
* @since 8.1.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
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();
/**
* Get the locking provider
*
* @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
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
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();
2015-09-03 21:48:42 +03:00
/**
* Get the MimeTypeLoader
*
* @return \OCP\Files\IMimeTypeLoader
* @since 8.2.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2015-09-03 21:48:42 +03:00
*/
public function getMimeTypeLoader();
/**
* Get the EventDispatcher
*
* @return EventDispatcherInterface
* @deprecated 20.0.0 use \OCP\EventDispatcher\IEventDispatcher
* @since 8.2.0
*/
public function getEventDispatcher();
2015-08-31 13:24:37 +03:00
/**
* 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
2015-08-31 13:24:37 +03:00
*/
public function getNotificationManager();
/**
* @return \OCP\Comments\ICommentsManager
* @since 9.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getCommentsManager();
/**
* Returns the system-tag manager
*
* @return \OCP\SystemTag\ISystemTagManager
*
* @since 9.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getSystemTagManager();
/**
* Returns the system-tag object mapper
*
* @return \OCP\SystemTag\ISystemTagObjectMapper
*
* @since 9.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getSystemTagObjectMapper();
/**
* Returns the share manager
*
* @return \OCP\Share\IManager
* @since 9.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getShareManager();
Add public API to give developers the possibility to adjust the global CSP defaults Allows to inject something into the default content policy. This is for example useful when you're injecting Javascript code into a view belonging to another controller and cannot modify its Content-Security-Policy itself. Note that the adjustment is only applied to applications that use AppFramework controllers. To use this from your `app.php` use `\OC::$server->getContentSecurityPolicyManager()->addDefaultPolicy($policy)`, $policy has to be of type `\OCP\AppFramework\Http\ContentSecurityPolicy`. To test this add something like the following into an `app.php` of any enabled app: ``` $manager = \OC::$server->getContentSecurityPolicyManager(); $policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false); $policy->addAllowedFrameDomain('asdf'); $policy->addAllowedScriptDomain('yolo.com'); $policy->allowInlineScript(false); $manager->addDefaultPolicy($policy); $policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false); $policy->addAllowedFontDomain('yolo.com'); $manager->addDefaultPolicy($policy); $policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false); $policy->addAllowedFrameDomain('banana.com'); $manager->addDefaultPolicy($policy); ``` If you now open the files app the policy should be: ``` Content-Security-Policy:default-src 'none';script-src yolo.com 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self' data: blob:;font-src yolo.com 'self';connect-src 'self';media-src 'self';frame-src asdf banana.com 'self' ```
2016-01-28 16:33:02 +03:00
/**
* @return IContentSecurityPolicyManager
* @since 9.0.0
* @deprecated 17.0.0 Use the AddContentSecurityPolicyEvent
Add public API to give developers the possibility to adjust the global CSP defaults Allows to inject something into the default content policy. This is for example useful when you're injecting Javascript code into a view belonging to another controller and cannot modify its Content-Security-Policy itself. Note that the adjustment is only applied to applications that use AppFramework controllers. To use this from your `app.php` use `\OC::$server->getContentSecurityPolicyManager()->addDefaultPolicy($policy)`, $policy has to be of type `\OCP\AppFramework\Http\ContentSecurityPolicy`. To test this add something like the following into an `app.php` of any enabled app: ``` $manager = \OC::$server->getContentSecurityPolicyManager(); $policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false); $policy->addAllowedFrameDomain('asdf'); $policy->addAllowedScriptDomain('yolo.com'); $policy->allowInlineScript(false); $manager->addDefaultPolicy($policy); $policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false); $policy->addAllowedFontDomain('yolo.com'); $manager->addDefaultPolicy($policy); $policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false); $policy->addAllowedFrameDomain('banana.com'); $manager->addDefaultPolicy($policy); ``` If you now open the files app the policy should be: ``` Content-Security-Policy:default-src 'none';script-src yolo.com 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self' data: blob:;font-src yolo.com 'self';connect-src 'self';media-src 'self';frame-src asdf banana.com 'self' ```
2016-01-28 16:33:02 +03:00
*/
public function getContentSecurityPolicyManager();
2016-05-03 11:30:15 +03:00
/**
* @return \OCP\IDateTimeZone
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2016-05-03 11:30:15 +03:00
*/
public function getDateTimeZone();
/**
* @return \OCP\IDateTimeFormatter
* @since 8.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
2016-05-03 11:30:15 +03:00
*/
public function getDateTimeFormatter();
/**
* @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 getCloudIdManager();
/**
* @return \OCP\GlobalScale\IConfig
* @since 14.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getGlobalScaleConfig();
/**
* @return ICloudFederationFactory
* @since 14.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getCloudFederationFactory();
/**
* @return ICloudFederationProviderManager
* @since 14.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getCloudFederationProviderManager();
/**
* @return \OCP\Remote\Api\IApiFactory
* @since 13.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getRemoteApiFactory();
/**
* @return \OCP\Remote\IInstanceFactory
* @since 13.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getRemoteInstanceFactory();
/**
* @return \OCP\Files\Storage\IStorageFactory
* @since 15.0.0
* @deprecated 20.0.0 have it injected or fetch it through \Psr\Container\ContainerInterface::get
*/
public function getStorageFactory();
2013-08-21 02:58:15 +04:00
}