37
|
1 /*
|
196
|
2 * Geeqie
|
37
|
3 * (C) 2005 John Ellis
|
475
|
4 * Copyright (C) 2008 The Geeqie Team
|
37
|
5 *
|
|
6 * Author: John Ellis
|
|
7 *
|
|
8 * This software is released under the GNU General Public License (GNU GPL).
|
|
9 * Please read the included file COPYING for more information.
|
|
10 * This software comes with no warranty of any kind, use at your own risk!
|
|
11 */
|
|
12
|
|
13
|
|
14 #ifndef CACHE_LOADER_H
|
|
15 #define CACHE_LOADER_H
|
|
16
|
|
17
|
|
18 #include "cache.h"
|
|
19 #include "image-load.h"
|
|
20
|
|
21
|
|
22 typedef struct _CacheLoader CacheLoader;
|
|
23
|
|
24 typedef void (* CacheLoaderDoneFunc)(CacheLoader *cl, gint error, gpointer data);
|
|
25
|
|
26
|
|
27 typedef enum {
|
|
28 CACHE_LOADER_NONE = 0,
|
|
29 CACHE_LOADER_DIMENSIONS = 1 << 0,
|
|
30 CACHE_LOADER_DATE = 1 << 1,
|
|
31 CACHE_LOADER_MD5SUM = 1 << 2,
|
|
32 CACHE_LOADER_SIMILARITY = 1 << 3
|
|
33 } CacheDataType;
|
|
34
|
|
35 struct _CacheLoader {
|
138
|
36 FileData *fd;
|
37
|
37 CacheData *cd;
|
|
38
|
|
39 CacheDataType todo_mask;
|
|
40 CacheDataType done_mask;
|
|
41
|
|
42 CacheLoaderDoneFunc done_func;
|
|
43 gpointer done_data;
|
|
44
|
|
45 gint error;
|
|
46
|
|
47 ImageLoader *il;
|
|
48 gint idle_id;
|
|
49 };
|
|
50
|
|
51
|
138
|
52 CacheLoader *cache_loader_new(FileData *fd, CacheDataType load_mask,
|
37
|
53 CacheLoaderDoneFunc done_func, gpointer done_data);
|
|
54
|
|
55 void cache_loader_free(CacheLoader *cl);
|
|
56
|
|
57
|
|
58 #endif
|