diff options
author | Benjamin Otte <otte@gnome.org> | 2009-06-11 17:36:06 +0200 |
---|---|---|
committer | Benjamin Otte <otte@gnome.org> | 2009-06-11 17:38:03 +0200 |
commit | 883ebd74c283d873cb383709d50e1b4faf60e0f1 (patch) | |
tree | 22486495661600b8fd62f29edbd4b3a6759afb39 /daemon/gvfsbackendftp.c | |
parent | b07c3a9b238f03b203c09adbb764e88b585cfdc6 (diff) | |
download | gvfs-883ebd74c283d873cb383709d50e1b4faf60e0f1.tar.gz |
[FTP] get rid of connection read/write functions
use get_data_stream() instead and call read/write on that manually.
Reduces the number of API.
Diffstat (limited to 'daemon/gvfsbackendftp.c')
-rw-r--r-- | daemon/gvfsbackendftp.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/daemon/gvfsbackendftp.c b/daemon/gvfsbackendftp.c index d137d6ad..18c8a7e4 100644 --- a/daemon/gvfsbackendftp.c +++ b/daemon/gvfsbackendftp.c @@ -672,13 +672,15 @@ do_read (GVfsBackend * backend, GVfsBackendFtp *ftp = G_VFS_BACKEND_FTP (backend); GVfsFtpTask task = G_VFS_FTP_TASK_INIT (ftp, G_VFS_JOB (job)); GVfsFtpConnection *conn = handle; + GInputStream *input; gssize n_bytes; - n_bytes = g_vfs_ftp_connection_read_data (conn, - buffer, - bytes_requested, - task.cancellable, - &task.error); + input = g_io_stream_get_input_stream (g_vfs_ftp_connection_get_data_stream (conn)); + n_bytes = g_input_stream_read (input, + buffer, + bytes_requested, + task.cancellable, + &task.error); if (n_bytes >= 0) g_vfs_job_read_set_size (job, n_bytes); @@ -826,14 +828,17 @@ do_write (GVfsBackend *backend, GVfsBackendFtp *ftp = G_VFS_BACKEND_FTP (backend); GVfsFtpTask task = G_VFS_FTP_TASK_INIT (ftp, G_VFS_JOB (job)); GVfsFtpConnection *conn = handle; + GOutputStream *output; gssize n_bytes; + output = g_io_stream_get_output_stream (g_vfs_ftp_connection_get_data_stream (conn)); + /* FIXME: use write_all here? */ - n_bytes = g_vfs_ftp_connection_write_data (conn, - buffer, - buffer_size, - task.cancellable, - &task.error); + n_bytes = g_output_stream_write (output, + buffer, + buffer_size, + task.cancellable, + &task.error); if (n_bytes >= 0) g_vfs_job_write_set_written_size (job, n_bytes); |