Lars Hjemli | ee4056b | 2008-03-27 09:22:13 +0100 | [diff] [blame] | 1 | /* |
| 2 | * Since git has it's own cache.h which we include, |
| 3 | * lets test on CGIT_CACHE_H to avoid confusion |
| 4 | */ |
| 5 | |
| 6 | #ifndef CGIT_CACHE_H |
| 7 | #define CGIT_CACHE_H |
| 8 | |
Lars Hjemli | 939d32f | 2008-04-28 11:32:42 +0200 | [diff] [blame] | 9 | typedef void (*cache_fill_fn)(void *cbdata); |
Lars Hjemli | ee4056b | 2008-03-27 09:22:13 +0100 | [diff] [blame] | 10 | |
Lars Hjemli | 939d32f | 2008-04-28 11:32:42 +0200 | [diff] [blame] | 11 | |
| 12 | /* Print cached content to stdout, generate the content if necessary. |
| 13 | * |
| 14 | * Parameters |
| 15 | * size max number of cache files |
| 16 | * path directory used to store cache files |
| 17 | * key the key used to lookup cache files |
| 18 | * ttl max cache time in seconds for this key |
| 19 | * fn content generator function for this key |
| 20 | * cbdata user-supplied data to the content generator function |
| 21 | * |
| 22 | * Return value |
| 23 | * 0 indicates success, everyting else is an error |
| 24 | */ |
| 25 | extern int cache_process(int size, const char *path, const char *key, int ttl, |
| 26 | cache_fill_fn fn, void *cbdata); |
| 27 | |
| 28 | |
Lars Hjemli | 9000bbf | 2008-04-28 12:10:13 +0200 | [diff] [blame^] | 29 | /* List info about all cache entries on stdout */ |
| 30 | extern int cache_ls(const char *path); |
| 31 | |
Lars Hjemli | 939d32f | 2008-04-28 11:32:42 +0200 | [diff] [blame] | 32 | /* Print a message to stdout */ |
| 33 | extern void cache_log(const char *format, ...); |
Lars Hjemli | ee4056b | 2008-03-27 09:22:13 +0100 | [diff] [blame] | 34 | |
| 35 | #endif /* CGIT_CACHE_H */ |