diff options
author | Roeland Jago Douma <rullzer@owncloud.com> | 2016-01-11 10:30:03 +0100 |
---|---|---|
committer | Roeland Jago Douma <rullzer@owncloud.com> | 2016-01-13 16:35:14 +0100 |
commit | 67b7ebccd134d68329fae201669924118a4d98fc (patch) | |
tree | eae8adce95c898cbb481e5c35b54b41cb506aef0 /lib/private/server.php | |
parent | b4de427c1e0d3de5f937b3514c4dd2b8c59d7b15 (diff) | |
download | nextcloud-server-67b7ebccd134d68329fae201669924118a4d98fc.tar.gz nextcloud-server-67b7ebccd134d68329fae201669924118a4d98fc.zip |
[Share 2.0] Add share provider factory
* Add providers
* Add share manager to server container
* Use share manager from server container
* Properly get the share manager
Diffstat (limited to 'lib/private/server.php')
-rw-r--r-- | lib/private/server.php | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/lib/private/server.php b/lib/private/server.php index fe71b748e08..79bd96652ed 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -564,6 +564,25 @@ class Server extends ServerContainer implements IServerContainer { $request ); }); + $this->registerService('ShareManager', function(Server $c) { + $config = $c->getConfig(); + $factoryClass = $config->getSystemValue('sharing.managerFactory', '\OC\Share20\ProviderFactory'); + /** @var \OC\Share20\IProviderFactory $factory */ + $factory = new $factoryClass(); + + $manager = new \OC\Share20\Manager( + $c->getLogger(), + $c->getConfig(), + $c->getSecureRandom(), + $c->getHasher(), + $c->getMountManager(), + $c->getGroupManager(), + $c->getL10N('core'), + $factory + ); + + return $manager; + }); } /** @@ -1181,5 +1200,12 @@ class Server extends ServerContainer implements IServerContainer { public function getUserStoragesService() { return \OC_Mount_Config::$app->getContainer()->query('OCA\\Files_External\\Service\\UserStoragesService'); } - + + + /** + * @return \OC\Share20\Manager + */ + public function getShareManager() { + return $this->query('ShareManager'); + } } |