comparison src/cache-loader.h @ 37:67ba4381497e

Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net> * cache-loader.[ch]: New utility to load cache-able data. * cache.[ch]: Add embedded (exif) date caching. * pan-view.c: Use new cache loading mechanism. Add exif date support to timeline and calendar view. * src/Makefile.am: Add cache-loader.[c,h]. ##### Note: GQview CVS on sourceforge is not always up to date, please use ##### ##### an offical release when making enhancements and translation updates. #####
author gqview
date Wed, 13 Apr 2005 22:29:53 +0000
parents
children 71e1ebee420e
comparison
equal deleted inserted replaced
36:9b01fe7e84d5 37:67ba4381497e
1 /*
2 * GQview
3 * (C) 2005 John Ellis
4 *
5 * Author: John Ellis
6 *
7 * This software is released under the GNU General Public License (GNU GPL).
8 * Please read the included file COPYING for more information.
9 * This software comes with no warranty of any kind, use at your own risk!
10 */
11
12
13 #ifndef CACHE_LOADER_H
14 #define CACHE_LOADER_H
15
16
17 #include "cache.h"
18 #include "image-load.h"
19
20
21 typedef struct _CacheLoader CacheLoader;
22
23 typedef void (* CacheLoaderDoneFunc)(CacheLoader *cl, gint error, gpointer data);
24
25
26 typedef enum {
27 CACHE_LOADER_NONE = 0,
28 CACHE_LOADER_DIMENSIONS = 1 << 0,
29 CACHE_LOADER_DATE = 1 << 1,
30 CACHE_LOADER_MD5SUM = 1 << 2,
31 CACHE_LOADER_SIMILARITY = 1 << 3
32 } CacheDataType;
33
34 struct _CacheLoader {
35 gchar *path;
36 CacheData *cd;
37
38 CacheDataType todo_mask;
39 CacheDataType done_mask;
40
41 CacheLoaderDoneFunc done_func;
42 gpointer done_data;
43
44 gint error;
45
46 ImageLoader *il;
47 gint idle_id;
48 };
49
50
51 CacheLoader *cache_loader_new(const gchar *path, CacheDataType load_mask,
52 CacheLoaderDoneFunc done_func, gpointer done_data);
53
54 void cache_loader_free(CacheLoader *cl);
55
56
57 #endif
58
59