diff options
author | Alexander Larsson <alexl@src.gnome.org> | 2007-09-13 12:00:22 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2007-09-13 12:00:22 +0000 |
commit | 1bc74bf54710de8c03d5e9c694d296513358c69e (patch) | |
tree | 335a8b3745e2f51b4e633b2eee78dcdb44cf8405 /daemon/gvfsjobopenforwrite.h | |
parent | 44af613cd48ce5ffda6468d81f562e091c7554e4 (diff) | |
download | gvfs-1bc74bf54710de8c03d5e9c694d296513358c69e.tar.gz |
Initial work for daemon side write support
Original git commit by Alexander Larsson <alex@greebo.(none)> at 1171642429 +0100
svn path=/trunk/; revision=359
Diffstat (limited to 'daemon/gvfsjobopenforwrite.h')
-rw-r--r-- | daemon/gvfsjobopenforwrite.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/daemon/gvfsjobopenforwrite.h b/daemon/gvfsjobopenforwrite.h new file mode 100644 index 00000000..fb2c3b1b --- /dev/null +++ b/daemon/gvfsjobopenforwrite.h @@ -0,0 +1,59 @@ +#ifndef __G_VFS_JOB_OPEN_FOR_WRITE_H__ +#define __G_VFS_JOB_OPEN_FOR_WRITE_H__ + +#include <dbus/dbus.h> +#include <gvfsjobdbus.h> +#include <gvfsbackend.h> +#include <gvfswritechannel.h> + +G_BEGIN_DECLS + +#define G_VFS_TYPE_JOB_OPEN_FOR_WRITE (g_vfs_job_open_for_write_get_type ()) +#define G_VFS_JOB_OPEN_FOR_WRITE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_VFS_TYPE_JOB_OPEN_FOR_WRITE, GVfsJobOpenForWrite)) +#define G_VFS_JOB_OPEN_FOR_WRITE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_VFS_TYPE_JOB_OPEN_FOR_WRITE, GVfsJobOpenForWriteClass)) +#define G_IS_VFS_JOB_OPEN_FOR_WRITE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_VFS_TYPE_JOB_OPEN_FOR_WRITE)) +#define G_IS_VFS_JOB_OPEN_FOR_WRITE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_VFS_TYPE_JOB_OPEN_FOR_WRITE)) +#define G_VFS_JOB_OPEN_FOR_WRITE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_VFS_TYPE_JOB_OPEN_FOR_WRITE, GVfsJobOpenForWriteClass)) + +typedef struct _GVfsJobOpenForWriteClass GVfsJobOpenForWriteClass; + +typedef enum { + OPEN_FOR_WRITE_CREATE, + OPEN_FOR_WRITE_APPEND, + OPEN_FOR_WRITE_REPLACE, +} GVfsJobOpenForWriteMode; + +struct _GVfsJobOpenForWrite +{ + GVfsJobDBus parent_instance; + + GVfsJobOpenForWriteMode mode; + char *filename; + time_t mtime; + gboolean make_backup; + + GVfsBackend *backend; + GVfsBackendHandle backend_handle; + + gboolean can_seek; + GVfsWriteChannel *write_channel; +}; + +struct _GVfsJobOpenForWriteClass +{ + GVfsJobDBusClass parent_class; +}; + +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); + +G_END_DECLS + +#endif /* __G_VFS_JOB_OPEN_FOR_WRITE_H__ */ |