2 * ROX-Filer, filer for the ROX desktop project
3 * Thomas Leonard, <tal197@users.sourceforge.net>
15 #include <glib-object.h>
17 typedef GObject
*(*GFSLoadFunc
)(const char *pathname
, gpointer user_data
);
18 typedef void (*GFSUpdateFunc
)(gpointer object
,
22 FSCACHE_LOOKUP_CREATE
, /* Load if missing. Update as needed. */
23 FSCACHE_LOOKUP_ONLY_NEW
,/* Return NULL if not present AND uptodate */
24 FSCACHE_LOOKUP_PEEK
, /* Lookup; don't load or update */
25 FSCACHE_LOOKUP_INIT
, /* Internal use */
26 FSCACHE_LOOKUP_INSERT
, /* Internal use */
29 GFSCache
*g_fscache_new(GFSLoadFunc load
,
32 void g_fscache_destroy(GFSCache
*cache
);
33 gpointer
g_fscache_lookup(GFSCache
*cache
, const char *pathname
);
34 gpointer
g_fscache_lookup_full(GFSCache
*cache
, const char *pathname
,
35 FSCacheLookup lookup_type
,
37 void g_fscache_may_update(GFSCache
*cache
, const char *pathname
);
38 void g_fscache_update(GFSCache
*cache
, const char *pathname
);
39 void g_fscache_purge(GFSCache
*cache
, gint age
);
41 void g_fscache_insert(GFSCache
*cache
, const char *pathname
, gpointer obj
,
42 gboolean update_details
);
44 #endif /* _FSCACHE_H */