Browse Source

expose storagefactory in server container

Signed-off-by: Robin Appelman <robin@icewind.nl>
tags/v15.0.0beta1
Robin Appelman 5 years ago
parent
commit
565d830c11
No account linked to committer's email address
3 changed files with 22 additions and 2 deletions
  1. 3
    2
      lib/private/Files/Filesystem.php
  2. 13
    0
      lib/private/Server.php
  3. 6
    0
      lib/public/IServerContainer.php

+ 3
- 2
lib/private/Files/Filesystem.php View File

@@ -65,6 +65,7 @@ use OC\Files\Storage\StorageFactory;
use OC\Lockdown\Filesystem\NullStorage;
use OCP\Files\Config\IMountProvider;
use OCP\Files\NotFoundException;
use OCP\Files\Storage\IStorageFactory;
use OCP\ILogger;
use OCP\IUserManager;

@@ -246,11 +247,11 @@ class Filesystem {
/**
* Returns the storage factory
*
* @return \OCP\Files\Storage\IStorageFactory
* @return IStorageFactory
*/
public static function getLoader() {
if (!self::$loader) {
self::$loader = new StorageFactory();
self::$loader = \OC::$server->query(IStorageFactory::class);
}
return self::$loader;
}

+ 13
- 0
lib/private/Server.php View File

@@ -80,6 +80,7 @@ use OC\Files\Mount\ObjectHomeMountProvider;
use OC\Files\Node\HookConnector;
use OC\Files\Node\LazyRoot;
use OC\Files\Node\Root;
use OC\Files\Storage\StorageFactory;
use OC\Files\View;
use OC\Http\Client\ClientService;
use OC\IntegrityCheck\Checker;
@@ -135,6 +136,7 @@ use OCP\Federation\ICloudFederationProviderManager;
use OCP\Federation\ICloudIdManager;
use OCP\Authentication\LoginCredentials\IStore;
use OCP\Files\NotFoundException;
use OCP\Files\Storage\IStorageFactory;
use OCP\GlobalScale\IConfig;
use OCP\ICacheFactory;
use OCP\IDBConnection;
@@ -1174,6 +1176,10 @@ class Server extends ServerContainer implements IServerContainer {
});
$this->registerAlias(IContactsStore::class, ContactsStore::class);

$this->registerService(IStorageFactory::class, function() {
return new StorageFactory();
});

$this->registerAlias(IDashboardManager::class, Dashboard\DashboardManager::class);

$this->connectDispatcher();
@@ -2024,4 +2030,11 @@ class Server extends ServerContainer implements IServerContainer {
public function getRemoteInstanceFactory() {
return $this->query(IInstanceFactory::class);
}

/**
* @return IStorageFactory
*/
public function getStorageFactory() {
return $this->query(IStorageFactory::class);
}
}

+ 6
- 0
lib/public/IServerContainer.php View File

@@ -584,4 +584,10 @@ interface IServerContainer extends IContainer {
* @since 13.0.0
*/
public function getRemoteInstanceFactory();

/**
* @return \OCP\Files\Storage\IStorageFactory
* @since 15.0.0
*/
public function getStorageFactory();
}

Loading…
Cancel
Save