[gvfs] Set filesystem::type for all backends
- From: Ross Lagerwall <rossl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gvfs] Set filesystem::type for all backends
- Date: Tue, 4 Aug 2015 20:02:26 +0000 (UTC)
commit c40c301e4a7f23dfe91289e90d9fa031f09bbcab
Author: Ross Lagerwall <rosslagerwall gmail com>
Date: Sun Jul 26 22:24:18 2015 +0100
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
daemon/gvfsbackendafpbrowse.c | 13 +++++++++++++
daemon/gvfsbackendarchive.c | 1 +
daemon/gvfsbackendburn.c | 13 +++++++++++++
daemon/gvfsbackendcomputer.c | 13 +++++++++++++
daemon/gvfsbackenddav.c | 1 +
daemon/gvfsbackenddnssd.c | 13 +++++++++++++
daemon/gvfsbackendftp.c | 13 +++++++++++++
daemon/gvfsbackendhttp.c | 13 +++++++++++++
daemon/gvfsbackendlocaltest.c | 2 ++
daemon/gvfsbackendnetwork.c | 13 +++++++++++++
daemon/gvfsbackendsmbbrowse.c | 13 +++++++++++++
11 files changed, 108 insertions(+), 0 deletions(-)
---
diff --git a/daemon/gvfsbackendafpbrowse.c b/daemon/gvfsbackendafpbrowse.c
index 86db10b..d5ce1ab 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 1a41203..7ed4c59 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 b22baa9..928387c 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 a502093..456bb15 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 2d83ca0..27166a2 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 366b299..dc30054 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 388c4c8..426a69b 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 46f950a..347fd0d 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 24e4aed..4b058a3 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 bdb9cb9..5e55b4b 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 1abce2b..19f12d2 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;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]