1: <?php
 2: /**
 3:  * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 4:  * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
 5:  *
 6:  * Licensed under The MIT License
 7:  * Redistributions of files must retain the above copyright notice.
 8:  *
 9:  * @copyright     Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
10:  * @link          http://cakephp.org CakePHP(tm) Project
11:  * @package       Cake.Model.Datasource
12:  * @since         CakePHP(tm) v 2.1
13:  * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
14:  */
15: 
16: /**
17:  * Interface for Session handlers.  Custom session handler classes should implement
18:  * this interface as it allows CakeSession know how to map methods to session_set_save_handler()
19:  *
20:  * @package       Cake.Model.Datasource.Session
21:  */
22: interface CakeSessionHandlerInterface {
23: 
24: /**
25:  * Method called on open of a session.
26:  *
27:  * @return boolean Success
28:  */
29:     public function open();
30: 
31: /**
32:  * Method called on close of a session.
33:  *
34:  * @return boolean Success
35:  */
36:     public function close();
37: 
38: /**
39:  * Method used to read from a session.
40:  *
41:  * @param mixed $id The key of the value to read
42:  * @return mixed The value of the key or false if it does not exist
43:  */
44:     public function read($id);
45: 
46: /**
47:  * Helper function called on write for sessions.
48:  *
49:  * @param integer $id ID that uniquely identifies session in database
50:  * @param mixed $data The value of the data to be saved.
51:  * @return boolean True for successful write, false otherwise.
52:  */
53:     public function write($id, $data);
54: 
55: /**
56:  * Method called on the destruction of a session.
57:  *
58:  * @param integer $id ID that uniquely identifies session in database
59:  * @return boolean True for successful delete, false otherwise.
60:  */
61:     public function destroy($id);
62: 
63: /**
64:  * Run the Garbage collection on the session storage.  This method should vacuum all
65:  * expired or dead sessions.
66:  *
67:  * @param integer $expires Timestamp (defaults to current time)
68:  * @return boolean Success
69:  */
70:     public function gc($expires = null);
71: 
72: }
73: