summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Tanghus <thomas@tanghus.net>2013-09-17 18:31:14 +0200
committerThomas Tanghus <thomas@tanghus.net>2013-09-17 18:31:14 +0200
commit5c19b995db6dab9aae579274db82413117cce67b (patch)
tree23aa99c653428b5a050312942961af3ac551d00f
parent9b420e8660404de27e3af629bfca188ae90cf7bd (diff)
downloadnextcloud-server-5c19b995db6dab9aae579274db82413117cce67b.tar.gz
nextcloud-server-5c19b995db6dab9aae579274db82413117cce67b.zip
Add interface for Session and add getter in server container.
-rw-r--r--lib/public/iservercontainer.php7
-rw-r--r--lib/public/isession.php44
-rw-r--r--lib/server.php10
-rw-r--r--lib/session/session.php2
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
*