diff options
author | Thomas Tanghus <thomas@tanghus.net> | 2013-09-17 18:31:14 +0200 |
---|---|---|
committer | Thomas Tanghus <thomas@tanghus.net> | 2013-09-17 18:31:14 +0200 |
commit | 5c19b995db6dab9aae579274db82413117cce67b (patch) | |
tree | 23aa99c653428b5a050312942961af3ac551d00f | |
parent | 9b420e8660404de27e3af629bfca188ae90cf7bd (diff) | |
download | nextcloud-server-5c19b995db6dab9aae579274db82413117cce67b.tar.gz nextcloud-server-5c19b995db6dab9aae579274db82413117cce67b.zip |
Add interface for Session and add getter in server container.
-rw-r--r-- | lib/public/iservercontainer.php | 7 | ||||
-rw-r--r-- | lib/public/isession.php | 44 | ||||
-rw-r--r-- | lib/server.php | 10 | ||||
-rw-r--r-- | lib/session/session.php | 2 |
4 files changed, 62 insertions, 1 deletions
diff --git a/lib/public/iservercontainer.php b/lib/public/iservercontainer.php index d88330698dc..ec7212b306e 100644 --- a/lib/public/iservercontainer.php +++ b/lib/public/iservercontainer.php @@ -62,4 +62,11 @@ interface IServerContainer { */ function getRootFolder(); + /** + * Returns the current session + * + * @return \OCP\ISession + */ + function getSession(); + } diff --git a/lib/public/isession.php b/lib/public/isession.php new file mode 100644 index 00000000000..5f9ce32f3b1 --- /dev/null +++ b/lib/public/isession.php @@ -0,0 +1,44 @@ +<?php +/** + * Copyright (c) 2013 Thomas Tanghus (thomas@tanghus.net) + * @author Thomas Tanghus + * @author Robin Appelman + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCP; + +interface ISession { + /** + * @param string $key + * @param mixed $value + */ + public function set($key, $value); + + /** + * @param string $key + * @return mixed should return null if $key does not exist + */ + public function get($key); + + /** + * @param string $key + * @return bool + */ + public function exists($key); + + /** + * should not throw any errors if $key does not exist + * + * @param string $key + */ + public function remove($key); + + /** + * removes all entries within the cache namespace + */ + public function clear(); + +} diff --git a/lib/server.php b/lib/server.php index 9e87bd3190d..0124ad72c02 100644 --- a/lib/server.php +++ b/lib/server.php @@ -97,4 +97,14 @@ class Server extends SimpleContainer implements IServerContainer { { return $this->query('RootFolder'); } + + /** + * Returns the current session + * + * @return \OCP\ISession + */ + function getSession() { + return \OC::$session; + } + } diff --git a/lib/session/session.php b/lib/session/session.php index 55515f57a87..c55001eccac 100644 --- a/lib/session/session.php +++ b/lib/session/session.php @@ -8,7 +8,7 @@ namespace OC\Session; -abstract class Session implements \ArrayAccess { +abstract class Session implements \ArrayAccess, \OCP\ISession { /** * $name serves as a namespace for the session keys * |