diff options
author | Alexander Larsson <alexl@redhat.com> | 2009-02-27 12:59:47 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2009-02-27 12:59:47 +0000 |
commit | 28713ed6b20cb617bce93e639b764617a118e1dd (patch) | |
tree | 8e840db7df291d1c60a55eb0aba9364ae89bde73 /daemon/gvfsreadchannel.c | |
parent | 4c1cbdac8d59b1bf53319bc9e5a165c8b11adacb (diff) | |
download | gvfs-28713ed6b20cb617bce93e639b764617a118e1dd.tar.gz |
Add (de)marshalling functions for GFileInfos.
2009-02-27 Alexander Larsson <alexl@redhat.com>
* common/Makefile.am:
* common/gvfsfileinfo.[ch]:
Add (de)marshalling functions for GFileInfos.
* common/gvfsdaemonprotocol.h:
Add protocol extensions for query info over streams
* client/gdaemonfileinputstream.c:
Support sync query_info.
* daemon/Makefile.am:
* daemon/gvfsjobqueryinforead.[ch]:
* daemon/gvfsbackend.h:
Added query info job and backend call for input streams
* daemon/gvfsbackendtest.c:
Implement query_info_on_read
* daemon/gvfschannel.[ch]:
Add g_vfs_channel_send_info
* daemon/gvfsreadchannel.c:
(read_channel_handle_request):
Handle query info
* test/Makefile.am:
* test/test-query-info-stream.c:
Add test for stream query info.
svn path=/trunk/; revision=2257
Diffstat (limited to 'daemon/gvfsreadchannel.c')
-rw-r--r-- | daemon/gvfsreadchannel.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/daemon/gvfsreadchannel.c b/daemon/gvfsreadchannel.c index c6e079b0..1f043b85 100644 --- a/daemon/gvfsreadchannel.c +++ b/daemon/gvfsreadchannel.c @@ -37,7 +37,9 @@ #include <gvfsdaemonutils.h> #include <gvfsjobread.h> #include <gvfsjobseekread.h> +#include <gvfsjobqueryinforead.h> #include <gvfsjobcloseread.h> +#include <gvfsfileinfo.h> struct _GVfsReadChannel { @@ -134,6 +136,7 @@ read_channel_handle_request (GVfsChannel *channel, GVfsBackendHandle backend_handle; GVfsBackend *backend; GVfsReadChannel *read_channel; + char *attrs; read_channel = G_VFS_READ_CHANNEL (channel); backend_handle = g_vfs_channel_get_backend_handle (channel); @@ -168,6 +171,16 @@ read_channel_handle_request (GVfsChannel *channel, ((goffset)arg1) | (((goffset)arg2) << 32), backend); break; + + case G_VFS_DAEMON_SOCKET_PROTOCOL_REQUEST_QUERY_INFO: + attrs = g_strndup (data, data_len); + job = g_vfs_job_query_info_read_new (read_channel, + backend_handle, + attrs, + backend); + + g_free (attrs); + break; default: g_set_error (error, G_IO_ERROR, |