diff options
author | Alexander Larsson <alexl@src.gnome.org> | 2007-09-13 12:05:32 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2007-09-13 12:05:32 +0000 |
commit | dee304079ebed5309f4b034add4cd28a4360d22d (patch) | |
tree | bbf1aac6ff65db4e65507bcf4f29826d2198e56d | |
parent | 4b8e4a74305ad49e22c88064fe08099203caa6cc (diff) | |
download | gvfs-dee304079ebed5309f4b034add4cd28a4360d22d.tar.gz |
Added +g_vfs_job_open_for_write_set_initial_offset
Original git commit by Alexander Larsson <alex@greebo.(none)> at 1172069698 +0100
svn path=/trunk/; revision=369
-rw-r--r-- | daemon/gvfsjobopenforwrite.c | 12 | ||||
-rw-r--r-- | daemon/gvfsjobopenforwrite.h | 23 |
2 files changed, 24 insertions, 11 deletions
diff --git a/daemon/gvfsjobopenforwrite.c b/daemon/gvfsjobopenforwrite.c index c5f9ec10..06f16a52 100644 --- a/daemon/gvfsjobopenforwrite.c +++ b/daemon/gvfsjobopenforwrite.c @@ -194,6 +194,13 @@ g_vfs_job_open_for_write_set_can_seek (GVfsJobOpenForWrite *job, job->can_seek = can_seek; } +void +g_vfs_job_open_for_write_set_initial_offset (GVfsJobOpenForWrite *job, + goffset initial_offset) +{ + job->initial_offset = initial_offset; +} + /* Might be called on an i/o thwrite */ static DBusMessage * create_reply (GVfsJob *job, @@ -208,7 +215,8 @@ create_reply (GVfsJob *job, int fd_id; gboolean res; dbus_bool_t can_seek; - + guint64 initial_offset; + g_assert (open_job->backend_handle != NULL); error = NULL; @@ -229,9 +237,11 @@ create_reply (GVfsJob *job, reply = dbus_message_new_method_return (message); can_seek = open_job->can_seek; + initial_offset = open_job->initial_offset; res = dbus_message_append_args (reply, DBUS_TYPE_UINT32, &fd_id, DBUS_TYPE_BOOLEAN, &can_seek, + DBUS_TYPE_UINT64, &initial_offset, DBUS_TYPE_INVALID); g_vfs_channel_set_backend_handle (G_VFS_CHANNEL (channel), open_job->backend_handle); diff --git a/daemon/gvfsjobopenforwrite.h b/daemon/gvfsjobopenforwrite.h index fb2c3b1b..475295f3 100644 --- a/daemon/gvfsjobopenforwrite.h +++ b/daemon/gvfsjobopenforwrite.h @@ -18,9 +18,9 @@ G_BEGIN_DECLS typedef struct _GVfsJobOpenForWriteClass GVfsJobOpenForWriteClass; typedef enum { - OPEN_FOR_WRITE_CREATE, - OPEN_FOR_WRITE_APPEND, - OPEN_FOR_WRITE_REPLACE, + OPEN_FOR_WRITE_CREATE = 0, + OPEN_FOR_WRITE_APPEND = 1, + OPEN_FOR_WRITE_REPLACE = 2, } GVfsJobOpenForWriteMode; struct _GVfsJobOpenForWrite @@ -36,6 +36,7 @@ struct _GVfsJobOpenForWrite GVfsBackendHandle backend_handle; gboolean can_seek; + goffset initial_offset; GVfsWriteChannel *write_channel; }; @@ -46,13 +47,15 @@ struct _GVfsJobOpenForWriteClass GType g_vfs_job_open_for_write_get_type (void) G_GNUC_CONST; -GVfsJob * g_vfs_job_open_for_write_new (DBusConnection *connection, - DBusMessage *message, - GVfsBackend *backend); -void g_vfs_job_open_for_write_set_handle (GVfsJobOpenForWrite *job, - GVfsBackendHandle handle); -void g_vfs_job_open_for_write_set_can_seek (GVfsJobOpenForWrite *job, - gboolean can_seek); +GVfsJob *g_vfs_job_open_for_write_new (DBusConnection *connection, + DBusMessage *message, + GVfsBackend *backend); +void g_vfs_job_open_for_write_set_handle (GVfsJobOpenForWrite *job, + GVfsBackendHandle handle); +void g_vfs_job_open_for_write_set_can_seek (GVfsJobOpenForWrite *job, + gboolean can_seek); +void g_vfs_job_open_for_write_set_initial_offset (GVfsJobOpenForWrite *job, + goffset initial_offset); G_END_DECLS |