diff options
author | Ross Lagerwall <rosslagerwall@gmail.com> | 2015-07-26 22:24:18 +0100 |
---|---|---|
committer | Ross Lagerwall <rosslagerwall@gmail.com> | 2015-08-04 21:01:16 +0100 |
commit | c40c301e4a7f23dfe91289e90d9fa031f09bbcab (patch) | |
tree | a4900a5e190a6361515e341b3ccc23e1bbdaf660 | |
parent | fc5f3be0a55f15d567e2e01f65585a3de5c40e74 (diff) | |
download | gvfs-c40c301e4a7f23dfe91289e90d9fa031f09bbcab.tar.gz |
Set filesystem::type for all backends
This attribute was being set inconsistently, and is used by the file
chooser.
https://bugzilla.gnome.org/show_bug.cgi?id=752834
-rw-r--r-- | daemon/gvfsbackendafpbrowse.c | 13 | ||||
-rw-r--r-- | daemon/gvfsbackendarchive.c | 1 | ||||
-rw-r--r-- | daemon/gvfsbackendburn.c | 13 | ||||
-rw-r--r-- | daemon/gvfsbackendcomputer.c | 13 | ||||
-rw-r--r-- | daemon/gvfsbackenddav.c | 1 | ||||
-rw-r--r-- | daemon/gvfsbackenddnssd.c | 13 | ||||
-rw-r--r-- | daemon/gvfsbackendftp.c | 13 | ||||
-rw-r--r-- | daemon/gvfsbackendhttp.c | 13 | ||||
-rw-r--r-- | daemon/gvfsbackendlocaltest.c | 2 | ||||
-rw-r--r-- | daemon/gvfsbackendnetwork.c | 13 | ||||
-rw-r--r-- | daemon/gvfsbackendsmbbrowse.c | 13 |
11 files changed, 108 insertions, 0 deletions
diff --git a/daemon/gvfsbackendafpbrowse.c b/daemon/gvfsbackendafpbrowse.c index 86db10bb..d5ce1abc 100644 --- a/daemon/gvfsbackendafpbrowse.c +++ b/daemon/gvfsbackendafpbrowse.c @@ -546,6 +546,18 @@ g_vfs_backend_afp_browse_finalize (GObject *object) G_OBJECT_CLASS (g_vfs_backend_afp_browse_parent_class)->finalize (object); } +static gboolean +try_query_fs_info (GVfsBackend *backend, + GVfsJobQueryFsInfo *job, + const char *filename, + GFileInfo *info, + GFileAttributeMatcher *matcher) +{ + g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_FILESYSTEM_TYPE, "afp"); + g_vfs_job_succeeded (G_VFS_JOB (job)); + return TRUE; +} + static void g_vfs_backend_afp_browse_class_init (GVfsBackendAfpBrowseClass *klass) { @@ -560,6 +572,7 @@ g_vfs_backend_afp_browse_class_init (GVfsBackendAfpBrowseClass *klass) backend_class->try_query_info = try_query_info; backend_class->try_enumerate = try_enumerate; backend_class->try_mount_mountable = try_mount_mountable; + backend_class->try_query_fs_info = try_query_fs_info; } void diff --git a/daemon/gvfsbackendarchive.c b/daemon/gvfsbackendarchive.c index 1a41203a..7ed4c590 100644 --- a/daemon/gvfsbackendarchive.c +++ b/daemon/gvfsbackendarchive.c @@ -913,6 +913,7 @@ try_query_fs_info (GVfsBackend *backend, { GVfsBackendArchive *ba = G_VFS_BACKEND_ARCHIVE (backend); + g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_FILESYSTEM_TYPE, "archive"); g_file_info_set_attribute_boolean (info, G_FILE_ATTRIBUTE_FILESYSTEM_READONLY, TRUE); g_file_info_set_attribute_uint32 (info, G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW, G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL); g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_FILESYSTEM_SIZE, ba->size); diff --git a/daemon/gvfsbackendburn.c b/daemon/gvfsbackendburn.c index b22baa9d..928387c3 100644 --- a/daemon/gvfsbackendburn.c +++ b/daemon/gvfsbackendburn.c @@ -1022,6 +1022,18 @@ try_move (GVfsBackend *backend, return TRUE; } +static gboolean +try_query_fs_info (GVfsBackend *backend, + GVfsJobQueryFsInfo *job, + const char *filename, + GFileInfo *info, + GFileAttributeMatcher *matcher) +{ + g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_FILESYSTEM_TYPE, "burn"); + g_vfs_job_succeeded (G_VFS_JOB (job)); + return TRUE; +} + static void g_vfs_backend_burn_class_init (GVfsBackendBurnClass *klass) { @@ -1033,6 +1045,7 @@ g_vfs_backend_burn_class_init (GVfsBackendBurnClass *klass) backend_class->try_mount = try_mount; backend_class->try_open_for_read = try_open_for_read; backend_class->try_query_info = try_query_info; + backend_class->try_query_fs_info = try_query_fs_info; backend_class->try_enumerate = try_enumerate; backend_class->try_create_dir_monitor = try_create_dir_monitor; backend_class->try_make_directory = try_make_directory; diff --git a/daemon/gvfsbackendcomputer.c b/daemon/gvfsbackendcomputer.c index a502093d..456bb157 100644 --- a/daemon/gvfsbackendcomputer.c +++ b/daemon/gvfsbackendcomputer.c @@ -1415,6 +1415,18 @@ try_poll_mountable (GVfsBackend *backend, return TRUE; } +static gboolean +try_query_fs_info (GVfsBackend *backend, + GVfsJobQueryFsInfo *job, + const char *filename, + GFileInfo *info, + GFileAttributeMatcher *matcher) +{ + g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_FILESYSTEM_TYPE, "computer"); + g_vfs_job_succeeded (G_VFS_JOB (job)); + return TRUE; +} + static void g_vfs_backend_computer_class_init (GVfsBackendComputerClass *klass) { @@ -1426,6 +1438,7 @@ g_vfs_backend_computer_class_init (GVfsBackendComputerClass *klass) backend_class->try_mount = try_mount; backend_class->try_open_for_read = try_open_for_read; backend_class->try_query_info = try_query_info; + backend_class->try_query_fs_info = try_query_fs_info; backend_class->try_enumerate = try_enumerate; backend_class->try_create_dir_monitor = try_create_dir_monitor; backend_class->try_mount_mountable = try_mount_mountable; diff --git a/daemon/gvfsbackenddav.c b/daemon/gvfsbackenddav.c index 2d83ca01..27166a24 100644 --- a/daemon/gvfsbackenddav.c +++ b/daemon/gvfsbackenddav.c @@ -3394,6 +3394,7 @@ g_vfs_backend_dav_class_init (GVfsBackendDavClass *klass) backend_class->mount = do_mount; backend_class->try_query_info = NULL; backend_class->query_info = do_query_info; + backend_class->try_query_fs_info = NULL; backend_class->query_fs_info = do_query_fs_info; backend_class->enumerate = do_enumerate; backend_class->try_open_for_read = try_open_for_read; diff --git a/daemon/gvfsbackenddnssd.c b/daemon/gvfsbackenddnssd.c index 366b299a..dc300541 100644 --- a/daemon/gvfsbackenddnssd.c +++ b/daemon/gvfsbackenddnssd.c @@ -806,6 +806,18 @@ g_vfs_backend_dns_sd_finalize (GObject *object) (*G_OBJECT_CLASS (g_vfs_backend_dns_sd_parent_class)->finalize) (object); } +static gboolean +try_query_fs_info (GVfsBackend *backend, + GVfsJobQueryFsInfo *job, + const char *filename, + GFileInfo *info, + GFileAttributeMatcher *matcher) +{ + g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_FILESYSTEM_TYPE, "dns-sd"); + g_vfs_job_succeeded (G_VFS_JOB (job)); + return TRUE; +} + static void g_vfs_backend_dns_sd_class_init (GVfsBackendDnsSdClass *klass) { @@ -816,6 +828,7 @@ g_vfs_backend_dns_sd_class_init (GVfsBackendDnsSdClass *klass) backend_class->try_mount = try_mount; backend_class->try_query_info = try_query_info; + backend_class->try_query_fs_info = try_query_fs_info; backend_class->try_enumerate = try_enumerate; backend_class->try_create_dir_monitor = try_create_monitor; backend_class->try_create_file_monitor = try_create_monitor; diff --git a/daemon/gvfsbackendftp.c b/daemon/gvfsbackendftp.c index 388c4c8a..426a69bc 100644 --- a/daemon/gvfsbackendftp.c +++ b/daemon/gvfsbackendftp.c @@ -1716,6 +1716,18 @@ out: g_vfs_ftp_task_done (&task); } +static gboolean +try_query_fs_info (GVfsBackend *backend, + GVfsJobQueryFsInfo *job, + const char *filename, + GFileInfo *info, + GFileAttributeMatcher *matcher) +{ + g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_FILESYSTEM_TYPE, "ftp"); + g_vfs_job_succeeded (G_VFS_JOB (job)); + return TRUE; +} + static void g_vfs_backend_ftp_class_init (GVfsBackendFtpClass *klass) { @@ -1742,6 +1754,7 @@ g_vfs_backend_ftp_class_init (GVfsBackendFtpClass *klass) backend_class->make_directory = do_make_directory; backend_class->move = do_move; backend_class->try_query_settable_attributes = try_query_settable_attributes; + backend_class->try_query_fs_info = try_query_fs_info; backend_class->set_attribute = do_set_attribute; backend_class->pull = do_pull; } diff --git a/daemon/gvfsbackendhttp.c b/daemon/gvfsbackendhttp.c index 46f950a8..347fd0d9 100644 --- a/daemon/gvfsbackendhttp.c +++ b/daemon/gvfsbackendhttp.c @@ -674,6 +674,18 @@ try_query_info_on_read (GVfsBackend *backend, return TRUE; } +static gboolean +try_query_fs_info (GVfsBackend *backend, + GVfsJobQueryFsInfo *job, + const char *filename, + GFileInfo *info, + GFileAttributeMatcher *matcher) +{ + g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_FILESYSTEM_TYPE, "http"); + g_vfs_job_succeeded (G_VFS_JOB (job)); + return TRUE; +} + #define DEBUG_MAX_BODY_SIZE (100 * 1024 * 1024) @@ -697,6 +709,7 @@ g_vfs_backend_http_class_init (GVfsBackendHttpClass *klass) backend_class->try_close_read = try_close_read; backend_class->try_query_info = try_query_info; backend_class->try_query_info_on_read = try_query_info_on_read; + backend_class->try_query_fs_info = try_query_fs_info; /* Initialize the SoupSession, common to all backend instances */ the_session = soup_session_new_with_options ("user-agent", diff --git a/daemon/gvfsbackendlocaltest.c b/daemon/gvfsbackendlocaltest.c index 24e4aed6..4b058a36 100644 --- a/daemon/gvfsbackendlocaltest.c +++ b/daemon/gvfsbackendlocaltest.c @@ -388,6 +388,8 @@ do_query_fs_info (GVfsBackend *backend, g_print ("(II) try_query_fs_info (filename = %s) \n", filename); + g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_FILESYSTEM_TYPE, "localtest"); + file = get_g_file_from_local (filename, G_VFS_JOB (job)); if (file) { diff --git a/daemon/gvfsbackendnetwork.c b/daemon/gvfsbackendnetwork.c index bdb9cb9f..5e55b4bc 100644 --- a/daemon/gvfsbackendnetwork.c +++ b/daemon/gvfsbackendnetwork.c @@ -858,6 +858,18 @@ try_create_monitor (GVfsBackend *backend, return TRUE; } +static gboolean +try_query_fs_info (GVfsBackend *backend, + GVfsJobQueryFsInfo *job, + const char *filename, + GFileInfo *info, + GFileAttributeMatcher *matcher) +{ + g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_FILESYSTEM_TYPE, "network"); + g_vfs_job_succeeded (G_VFS_JOB (job)); + return TRUE; +} + static void g_vfs_backend_network_init (GVfsBackendNetwork *network_backend) { @@ -963,6 +975,7 @@ g_vfs_backend_network_class_init (GVfsBackendNetworkClass *klass) backend_class->try_mount = try_mount; backend_class->try_query_info = try_query_info; + backend_class->try_query_fs_info = try_query_fs_info; backend_class->try_enumerate = try_enumerate; backend_class->try_create_dir_monitor = try_create_monitor; backend_class->try_create_file_monitor = try_create_monitor; diff --git a/daemon/gvfsbackendsmbbrowse.c b/daemon/gvfsbackendsmbbrowse.c index 1abce2bd..19f12d21 100644 --- a/daemon/gvfsbackendsmbbrowse.c +++ b/daemon/gvfsbackendsmbbrowse.c @@ -1525,6 +1525,18 @@ try_enumerate (GVfsBackend *backend, return TRUE; } +static gboolean +try_query_fs_info (GVfsBackend *backend, + GVfsJobQueryFsInfo *job, + const char *filename, + GFileInfo *info, + GFileAttributeMatcher *matcher) +{ + g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_FILESYSTEM_TYPE, "cifs"); + g_vfs_job_succeeded (G_VFS_JOB (job)); + return TRUE; +} + static void g_vfs_backend_smb_browse_class_init (GVfsBackendSmbBrowseClass *klass) { @@ -1544,6 +1556,7 @@ g_vfs_backend_smb_browse_class_init (GVfsBackendSmbBrowseClass *klass) backend_class->try_close_read = try_close_read; backend_class->query_info = do_query_info; backend_class->try_query_info = try_query_info; + backend_class->try_query_fs_info = try_query_fs_info; backend_class->enumerate = do_enumerate; backend_class->try_enumerate = try_enumerate; } |