Signed-off-by: Julius Härtl <jus@bitgrid.net>tags/v24.0.0rc1
@@ -298,7 +298,7 @@ return array( | |||
'OCP\\Files\\Lock\\ILock' => $baseDir . '/lib/public/Files/Lock/ILock.php', | |||
'OCP\\Files\\Lock\\ILockManager' => $baseDir . '/lib/public/Files/Lock/ILockManager.php', | |||
'OCP\\Files\\Lock\\ILockProvider' => $baseDir . '/lib/public/Files/Lock/ILockProvider.php', | |||
'OCP\\Files\\Lock\\LockScope' => $baseDir . '/lib/public/Files/Lock/LockScope.php', | |||
'OCP\\Files\\Lock\\LockContext' => $baseDir . '/lib/public/Files/Lock/LockContext.php', | |||
'OCP\\Files\\Lock\\NoLockProviderException' => $baseDir . '/lib/public/Files/Lock/NoLockProviderException.php', | |||
'OCP\\Files\\Lock\\OwnerLockedException' => $baseDir . '/lib/public/Files/Lock/OwnerLockedException.php', | |||
'OCP\\Files\\Mount\\IMountManager' => $baseDir . '/lib/public/Files/Mount/IMountManager.php', |
@@ -327,7 +327,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c | |||
'OCP\\Files\\Lock\\ILock' => __DIR__ . '/../../..' . '/lib/public/Files/Lock/ILock.php', | |||
'OCP\\Files\\Lock\\ILockManager' => __DIR__ . '/../../..' . '/lib/public/Files/Lock/ILockManager.php', | |||
'OCP\\Files\\Lock\\ILockProvider' => __DIR__ . '/../../..' . '/lib/public/Files/Lock/ILockProvider.php', | |||
'OCP\\Files\\Lock\\LockScope' => __DIR__ . '/../../..' . '/lib/public/Files/Lock/LockScope.php', | |||
'OCP\\Files\\Lock\\LockContext' => __DIR__ . '/../../..' . '/lib/public/Files/Lock/LockContext.php', | |||
'OCP\\Files\\Lock\\NoLockProviderException' => __DIR__ . '/../../..' . '/lib/public/Files/Lock/NoLockProviderException.php', | |||
'OCP\\Files\\Lock\\OwnerLockedException' => __DIR__ . '/../../..' . '/lib/public/Files/Lock/OwnerLockedException.php', | |||
'OCP\\Files\\Mount\\IMountManager' => __DIR__ . '/../../..' . '/lib/public/Files/Mount/IMountManager.php', |
@@ -5,12 +5,12 @@ namespace OC\Files\Lock; | |||
use OCP\Files\Lock\ILock; | |||
use OCP\Files\Lock\ILockManager; | |||
use OCP\Files\Lock\ILockProvider; | |||
use OCP\Files\Lock\LockScope; | |||
use OCP\Files\Lock\LockContext; | |||
use OCP\PreConditionNotMetException; | |||
class LockManager implements ILockManager { | |||
private ?ILockProvider $lockProvider = null; | |||
private ?LockScope $lockInScope = null; | |||
private ?LockContext $lockInScope = null; | |||
public function registerLockProvider(ILockProvider $lockProvider): void { | |||
if ($this->lockProvider) { | |||
@@ -24,7 +24,7 @@ class LockManager implements ILockManager { | |||
return $this->lockProvider !== null; | |||
} | |||
public function runInScope(LockScope $lock, callable $callback): void { | |||
public function runInScope(LockContext $lock, callable $callback): void { | |||
if (!$this->lockProvider) { | |||
$callback(); | |||
return; | |||
@@ -42,7 +42,7 @@ class LockManager implements ILockManager { | |||
} | |||
} | |||
public function getLockInScope(): ?LockScope { | |||
public function getLockInScope(): ?LockContext { | |||
return $this->lockInScope; | |||
} | |||
@@ -54,7 +54,7 @@ class LockManager implements ILockManager { | |||
return $this->lockProvider->getLocks($fileId); | |||
} | |||
public function lock(LockScope $lockInfo): ILock { | |||
public function lock(LockContext $lockInfo): ILock { | |||
if (!$this->lockProvider) { | |||
throw new PreConditionNotMetException('No lock provider available'); | |||
} | |||
@@ -62,7 +62,7 @@ class LockManager implements ILockManager { | |||
return $this->lockProvider->lock($lockInfo); | |||
} | |||
public function unlock(LockScope $lockInfo): void { | |||
public function unlock(LockContext $lockInfo): void { | |||
if (!$this->lockProvider) { | |||
throw new PreConditionNotMetException('No lock provider available'); | |||
} |
@@ -59,11 +59,11 @@ interface ILockManager extends ILockProvider { | |||
* | |||
* @since 24.0.0 | |||
*/ | |||
public function runInScope(LockScope $lock, callable $callback): void; | |||
public function runInScope(LockContext $lock, callable $callback): void; | |||
/** | |||
* @throws NoLockProviderException if there is no lock provider available | |||
* @since 24.0.0 | |||
*/ | |||
public function getLockInScope(): ?LockScope; | |||
public function getLockInScope(): ?LockContext; | |||
} |
@@ -47,12 +47,12 @@ interface ILockProvider { | |||
* @throws NoLockProviderException | |||
* @since 24.0.0 | |||
*/ | |||
public function lock(LockScope $lockInfo): ILock; | |||
public function lock(LockContext $lockInfo): ILock; | |||
/** | |||
* @throws PreConditionNotMetException | |||
* @throws NoLockProviderException | |||
* @since 24.0.0 | |||
*/ | |||
public function unlock(LockScope $lockInfo): void; | |||
public function unlock(LockContext $lockInfo): void; | |||
} |
@@ -29,13 +29,14 @@ namespace OCP\Files\Lock; | |||
use OCP\Files\Node; | |||
/** | |||
* Structure to identify a specific lock scope | |||
* Structure to identify a specific lock context to request or | |||
* describe a lock with the affected node and ownership information | |||
* | |||
* This is used to match a lock/unlock request or file operation to existing locks | |||
* | |||
* @since 24.0.0 | |||
*/ | |||
final class LockScope { | |||
final class LockContext { | |||
private Node $node; | |||
private int $type; | |||
private string $owner; |