Add interface for Session and add getter in server container.

This commit is contained in:
Thomas Tanghus 2013-09-17 18:31:14 +02:00
parent 9b420e8660
commit 5c19b995db
4 changed files with 62 additions and 1 deletions

View File

@ -62,4 +62,11 @@ interface IServerContainer {
*/ */
function getRootFolder(); function getRootFolder();
/**
* Returns the current session
*
* @return \OCP\ISession
*/
function getSession();
} }

44
lib/public/isession.php Normal file
View File

@ -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();
}

View File

@ -97,4 +97,14 @@ class Server extends SimpleContainer implements IServerContainer {
{ {
return $this->query('RootFolder'); return $this->query('RootFolder');
} }
/**
* Returns the current session
*
* @return \OCP\ISession
*/
function getSession() {
return \OC::$session;
}
} }

View File

@ -8,7 +8,7 @@
namespace OC\Session; namespace OC\Session;
abstract class Session implements \ArrayAccess { abstract class Session implements \ArrayAccess, \OCP\ISession {
/** /**
* $name serves as a namespace for the session keys * $name serves as a namespace for the session keys
* *