summaryrefslogtreecommitdiff
path: root/content/cache.h
blob: 2ee4e3b811adf415739196e3a63f39383c01b56c (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.1 2003/02/09 12:58:14 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(char * const url);
void cache_put(struct content * content);
void cache_free(struct content * content);
void cache_dump(void);

#endif