1: <?php
2: /**
3: * SimplePie
4: *
5: * A PHP-Based RSS and Atom Feed Framework.
6: * Takes the hard work out of managing a complete RSS/Atom solution.
7: *
8: * Copyright (c) 2004-2012, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
9: * All rights reserved.
10: *
11: * Redistribution and use in source and binary forms, with or without modification, are
12: * permitted provided that the following conditions are met:
13: *
14: * * Redistributions of source code must retain the above copyright notice, this list of
15: * conditions and the following disclaimer.
16: *
17: * * Redistributions in binary form must reproduce the above copyright notice, this list
18: * of conditions and the following disclaimer in the documentation and/or other materials
19: * provided with the distribution.
20: *
21: * * Neither the name of the SimplePie Team nor the names of its contributors may be used
22: * to endorse or promote products derived from this software without specific prior
23: * written permission.
24: *
25: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
26: * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
27: * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
28: * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30: * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
32: * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33: * POSSIBILITY OF SUCH DAMAGE.
34: *
35: * @package SimplePie
36: * @version 1.3-dev
37: * @copyright 2004-2012 Ryan Parman, Geoffrey Sneddon, Ryan McCue
38: * @author Ryan Parman
39: * @author Geoffrey Sneddon
40: * @author Ryan McCue
41: * @link http://simplepie.org/ SimplePie
42: * @license http://www.opensource.org/licenses/bsd-license.php BSD License
43: */
44:
45: /**
46: * Base for cache objects
47: *
48: * Classes to be used with {@see SimplePie_Cache::register()} are expected
49: * to implement this interface.
50: *
51: * @package SimplePie
52: */
53: interface SimplePie_Cache_Base
54: {
55: /**
56: * Feed cache type
57: *
58: * @var string
59: */
60: const TYPE_FEED = 'spc';
61:
62: /**
63: * Image cache type
64: *
65: * @var string
66: */
67: const TYPE_IMAGE = 'spi';
68:
69: /**
70: * Create a new cache object
71: *
72: * @param string $location Location string (from SimplePie::$cache_location)
73: * @param string $name Unique ID for the cache
74: * @param string $type Either TYPE_FEED for SimplePie data, or TYPE_IMAGE for image data
75: */
76: public function __construct($location, $name, $type);
77:
78: /**
79: * Save data to the cache
80: *
81: * @param array|SimplePie $data Data to store in the cache. If passed a SimplePie object, only cache the $data property
82: * @return bool Successfulness
83: */
84: public function save($data);
85:
86: /**
87: * Retrieve the data saved to the cache
88: *
89: * @return array Data for SimplePie::$data
90: */
91: public function load();
92:
93: /**
94: * Retrieve the last modified time for the cache
95: *
96: * @return int Timestamp
97: */
98: public function mtime();
99:
100: /**
101: * Set the last modified time to the current time
102: *
103: * @return bool Success status
104: */
105: public function touch();
106:
107: /**
108: * Remove the cache
109: *
110: * @return bool Success status
111: */
112: public function unlink();
113: }
114: