summaryrefslogtreecommitdiff
path: root/content/cache.h
blob: a1c6815076640e6d50931ed4106c37155bb445c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/**
 * $Id: cache.h,v 1.2 2003/03/04 11:59:35 bursa Exp $
 */

/**
 * Using the cache:
 *
 *     cache_init();
 *     ...
 *     c = cache_get(url);
 *     if (c == 0) {
 *         ... (create c) ...
 *         cache_put(c);
 *     }
 *     ...
 *     cache_free(c);
 *     ...
 *     cache_quit();
 *
 * cache_free informs the cache that the content is no longer being used, so
 * it can be deleted from the cache if necessary. There must be a call to
 * cache_free for each cache_get or cache_put.
 */

#ifndef _NETSURF_DESKTOP_CACHE_H_
#define _NETSURF_DESKTOP_CACHE_H_

struct content;
struct cache_entry;

void cache_init(void);
void cache_quit(void);
struct content * cache_get(const char * const url);
void cache_put(struct content * content);
void cache_free(struct content * content);
void cache_dump(void);

#endif