add changeLock to the storage api
This commit is contained in:
parent
a1372b2fb5
commit
661c9e2444
|
@ -634,4 +634,15 @@ class Shared extends \OC\Files\Storage\Common implements ISharedStorage {
|
||||||
list($targetStorage, $targetInternalPath) = $this->resolvePath($path);
|
list($targetStorage, $targetInternalPath) = $this->resolvePath($path);
|
||||||
$targetStorage->releaseLock($targetInternalPath, $type, $provider);
|
$targetStorage->releaseLock($targetInternalPath, $type, $provider);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $path
|
||||||
|
* @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
|
||||||
|
* @param \OCP\Lock\ILockingProvider $provider
|
||||||
|
*/
|
||||||
|
public function changeLock($path, $type, ILockingProvider $provider) {
|
||||||
|
/** @var \OCP\Files\Storage $targetStorage */
|
||||||
|
list($targetStorage, $targetInternalPath) = $this->resolvePath($path);
|
||||||
|
$targetStorage->changeLock($targetInternalPath, $type, $provider);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -641,4 +641,13 @@ abstract class Common implements Storage {
|
||||||
public function releaseLock($path, $type, ILockingProvider $provider) {
|
public function releaseLock($path, $type, ILockingProvider $provider) {
|
||||||
$provider->releaseLock('files/' . md5($this->getId() . '::' . trim($path, '/')), $type);
|
$provider->releaseLock('files/' . md5($this->getId() . '::' . trim($path, '/')), $type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $path
|
||||||
|
* @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
|
||||||
|
* @param \OCP\Lock\ILockingProvider $provider
|
||||||
|
*/
|
||||||
|
public function changeLock($path, $type, ILockingProvider $provider) {
|
||||||
|
$provider->changeLock('files/' . md5($this->getId() . '::' . trim($path, '/')), $type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,4 +91,12 @@ interface Storage extends \OCP\Files\Storage {
|
||||||
* @param \OCP\Lock\ILockingProvider $provider
|
* @param \OCP\Lock\ILockingProvider $provider
|
||||||
*/
|
*/
|
||||||
public function releaseLock($path, $type, ILockingProvider $provider);
|
public function releaseLock($path, $type, ILockingProvider $provider);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $path The path of the file to change the lock for
|
||||||
|
* @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
|
||||||
|
* @param \OCP\Lock\ILockingProvider $provider
|
||||||
|
* @throws \OCP\Lock\LockedException
|
||||||
|
*/
|
||||||
|
public function changeLock($path, $type, ILockingProvider $provider);
|
||||||
}
|
}
|
||||||
|
|
|
@ -444,4 +444,13 @@ class Jail extends Wrapper {
|
||||||
public function releaseLock($path, $type, ILockingProvider $provider) {
|
public function releaseLock($path, $type, ILockingProvider $provider) {
|
||||||
$this->storage->releaseLock($this->getSourcePath($path), $type, $provider);
|
$this->storage->releaseLock($this->getSourcePath($path), $type, $provider);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $path
|
||||||
|
* @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
|
||||||
|
* @param \OCP\Lock\ILockingProvider $provider
|
||||||
|
*/
|
||||||
|
public function changeLock($path, $type, ILockingProvider $provider) {
|
||||||
|
$this->storage->changeLock($this->getSourcePath($path), $type, $provider);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -561,4 +561,13 @@ class Wrapper implements \OC\Files\Storage\Storage {
|
||||||
public function releaseLock($path, $type, ILockingProvider $provider) {
|
public function releaseLock($path, $type, ILockingProvider $provider) {
|
||||||
$this->storage->releaseLock($path, $type, $provider);
|
$this->storage->releaseLock($path, $type, $provider);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $path
|
||||||
|
* @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
|
||||||
|
* @param \OCP\Lock\ILockingProvider $provider
|
||||||
|
*/
|
||||||
|
public function changeLock($path, $type, ILockingProvider $provider) {
|
||||||
|
$this->storage->changeLock($path, $type, $provider);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -429,4 +429,12 @@ interface Storage {
|
||||||
* @param \OCP\Lock\ILockingProvider $provider
|
* @param \OCP\Lock\ILockingProvider $provider
|
||||||
*/
|
*/
|
||||||
public function releaseLock($path, $type, ILockingProvider $provider);
|
public function releaseLock($path, $type, ILockingProvider $provider);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $path The path of the file to change the lock for
|
||||||
|
* @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
|
||||||
|
* @param \OCP\Lock\ILockingProvider $provider
|
||||||
|
* @throws \OCP\Lock\LockedException
|
||||||
|
*/
|
||||||
|
public function changeLock($path, $type, ILockingProvider $provider);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue