summaryrefslogtreecommitdiff
path: root/daemon/gvfsftpdircache.h
diff options
context:
space:
mode:
authorBenjamin Otte <otte@gnome.org>2009-06-09 15:13:19 +0200
committerBenjamin Otte <otte@gnome.org>2009-06-11 10:05:41 +0200
commitf9940f8318eb0835fb793557dbd914b856cbabf9 (patch)
tree82569791af2c3c8ed1ba1e411fcbc10bc8efb3bc /daemon/gvfsftpdircache.h
parent9d7a1de3017e240b0af23d2a51237d75fb14ae09 (diff)
downloadgvfs-f9940f8318eb0835fb793557dbd914b856cbabf9.tar.gz
[FTP] rework handling of uncached files
The directory cache needs a callback to lookup uncachable files. Uncachaable files are files that can be accessed but where the parent directory cannot be listed. This has to go into the directory cache, as the directory cache performs symlink resolving and looking up symlinks may encounter such files. Fixes a testcase in Andreas' test collection.
Diffstat (limited to 'daemon/gvfsftpdircache.h')
-rw-r--r--daemon/gvfsftpdircache.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/daemon/gvfsftpdircache.h b/daemon/gvfsftpdircache.h
index c007d07c..52e49ba6 100644
--- a/daemon/gvfsftpdircache.h
+++ b/daemon/gvfsftpdircache.h
@@ -41,6 +41,8 @@ struct _GVfsFtpDirFuncs {
GVfsFtpDirCacheEntry * entry,
GCancellable * cancellable,
GError ** error);
+ GFileInfo * (* lookup_uncached) (GVfsFtpTask * task,
+ const GVfsFtpFile * file);
GVfsFtpFile * (* resolve_symlink) (GVfsFtpTask * task,
const GVfsFtpFile * file,
const char * target);
@@ -49,8 +51,7 @@ struct _GVfsFtpDirFuncs {
extern const GVfsFtpDirFuncs g_vfs_ftp_dir_cache_funcs_unix;
extern const GVfsFtpDirFuncs g_vfs_ftp_dir_cache_funcs_default;
-GVfsFtpDirCache * g_vfs_ftp_dir_cache_new (const GVfsFtpDirFuncs *funcs,
- GFileInfo * root);
+GVfsFtpDirCache * g_vfs_ftp_dir_cache_new (const GVfsFtpDirFuncs *funcs);
void g_vfs_ftp_dir_cache_free (GVfsFtpDirCache * cache);
GFileInfo * g_vfs_ftp_dir_cache_lookup_file (GVfsFtpDirCache * cache,