summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@src.gnome.org>2007-09-13 12:05:32 +0000
committerAlexander Larsson <alexl@src.gnome.org>2007-09-13 12:05:32 +0000
commitdee304079ebed5309f4b034add4cd28a4360d22d (patch)
treebbf1aac6ff65db4e65507bcf4f29826d2198e56d /daemon
parent4b8e4a74305ad49e22c88064fe08099203caa6cc (diff)
downloadgvfs-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
Diffstat (limited to 'daemon')
-rw-r--r--daemon/gvfsjobopenforwrite.c12
-rw-r--r--daemon/gvfsjobopenforwrite.h23
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