summaryrefslogtreecommitdiff
path: root/daemon/gvfsbackendftp.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@gnome.org>2009-06-11 17:36:06 +0200
committerBenjamin Otte <otte@gnome.org>2009-06-11 17:38:03 +0200
commit883ebd74c283d873cb383709d50e1b4faf60e0f1 (patch)
tree22486495661600b8fd62f29edbd4b3a6759afb39 /daemon/gvfsbackendftp.c
parentb07c3a9b238f03b203c09adbb764e88b585cfdc6 (diff)
downloadgvfs-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.c25
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);