diff options
author | Robin Appelman <icewind@owncloud.com> | 2015-03-09 16:20:18 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2015-04-27 14:07:15 +0200 |
commit | 30ad56813a16908e3862c353256f2a6d0f05fe3a (patch) | |
tree | 284153f54d9ad64f377602c2ce6b2dc83f3cc445 /apps/files_sharing/appinfo/application.php | |
parent | 518d5aadf51318886481696e4308fcc39684b508 (diff) | |
download | nextcloud-server-30ad56813a16908e3862c353256f2a6d0f05fe3a.tar.gz nextcloud-server-30ad56813a16908e3862c353256f2a6d0f05fe3a.zip |
propagate etags for all user of a share
Diffstat (limited to 'apps/files_sharing/appinfo/application.php')
-rw-r--r-- | apps/files_sharing/appinfo/application.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/apps/files_sharing/appinfo/application.php b/apps/files_sharing/appinfo/application.php new file mode 100644 index 00000000000..6848c9e8363 --- /dev/null +++ b/apps/files_sharing/appinfo/application.php @@ -0,0 +1,51 @@ +<?php +/** + * Copyright (c) 2015 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCA\Files_Sharing\Appinfo; + +use OCA\Files_Sharing\MountProvider; +use OCA\Files_Sharing\Propagation\PropagationManager; +use OCP\AppFramework\App; +use \OCP\IContainer; + +class Application extends App { + public function __construct(array $urlParams = array()) { + parent::__construct('files_sharing', $urlParams); + $container = $this->getContainer(); + + $container->registerService('MountProvider', function (IContainer $c) { + /** @var \OCP\IServerContainer $server */ + $server = $c->query('ServerContainer'); + return new MountProvider( + $server->getConfig(), + $c->query('PropagationManager') + ); + }); + + $container->registerService('PropagationManager', function (IContainer $c) { + /** @var \OCP\IServerContainer $server */ + $server = $c->query('ServerContainer'); + return new PropagationManager( + $server->getUserSession(), + $server->getConfig() + ); + }); + } + + public function registerMountProviders() { + /** @var \OCP\IServerContainer $server */ + $server = $this->getContainer()->query('ServerContainer'); + $mountProviderCollection = $server->getMountProviderCollection(); + $mountProviderCollection->registerProvider($this->getContainer()->query('MountProvider')); + } + + public function setupPropagation() { + $propagationManager = $this->getContainer()->query('PropagationManager'); + \OCP\Util::connectHook('OC_Filesystem', 'setup', $propagationManager, 'globalSetup'); + } +} |