diff options
Diffstat (limited to 'lib/private/Session/Session.php')
-rw-r--r-- | lib/private/Session/Session.php | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/lib/private/Session/Session.php b/lib/private/Session/Session.php new file mode 100644 index 00000000000..b7510b63683 --- /dev/null +++ b/lib/private/Session/Session.php @@ -0,0 +1,60 @@ +<?php + +declare(strict_types=1); +/** + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-only + */ +namespace OC\Session; + +use OCP\ISession; + +/** + * @template-implements \ArrayAccess<string,mixed> + */ +abstract class Session implements \ArrayAccess, ISession { + /** + * @var bool + */ + protected $sessionClosed = false; + + /** + * @param mixed $offset + * @return bool + */ + public function offsetExists($offset): bool { + return $this->exists($offset); + } + + /** + * @param mixed $offset + * @return mixed + */ + #[\ReturnTypeWillChange] + public function offsetGet($offset) { + return $this->get($offset); + } + + /** + * @param mixed $offset + * @param mixed $value + */ + public function offsetSet($offset, $value): void { + $this->set($offset, $value); + } + + /** + * @param mixed $offset + */ + public function offsetUnset($offset): void { + $this->remove($offset); + } + + /** + * Close the session and release the lock + */ + public function close() { + $this->sessionClosed = true; + } +} |