[gvfs] afp: add g_vfs_afp_command_put_[byte|int|uint] functions and use these
- From: Christian Kellner <gicmo src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gvfs] afp: add g_vfs_afp_command_put_[byte|int|uint] functions and use these
- Date: Thu, 25 Aug 2011 19:24:38 +0000 (UTC)
commit 5c4f459ff7318c36febd3739f8cb03053e87c61f
Author: Carl-Anton Ingmarsson <ca ingmarsson gmail com>
Date: Mon Jul 4 12:48:18 2011 +0200
afp: add g_vfs_afp_command_put_[byte|int|uint] functions and use these
daemon/gvfsafpconnection.c | 89 ++++++++++++++++++++++---------
daemon/gvfsafpconnection.h | 20 +++++--
daemon/gvfsbackendafp.c | 118 +++++++++++++++++------------------------
daemon/gvfsbackendafpbrowse.c | 2 +-
4 files changed, 129 insertions(+), 100 deletions(-)
---
diff --git a/daemon/gvfsafpconnection.c b/daemon/gvfsafpconnection.c
index 8f1f845..02cbb47 100644
--- a/daemon/gvfsafpconnection.c
+++ b/daemon/gvfsafpconnection.c
@@ -392,7 +392,7 @@ G_DEFINE_TYPE (GVfsAfpCommand, g_vfs_afp_command, G_TYPE_DATA_OUTPUT_STREAM);
static void
-g_vfs_afp_command_init (GVfsAfpCommand *command)
+g_vfs_afp_command_init (GVfsAfpCommand *comm)
{
}
@@ -404,70 +404,109 @@ g_vfs_afp_command_class_init (GVfsAfpCommandClass *klass)
GVfsAfpCommand *
g_vfs_afp_command_new (AfpCommandType type)
{
- GVfsAfpCommand *command;
+ GVfsAfpCommand *comm;
+
+ comm = g_object_new (G_VFS_TYPE_AFP_COMMAND,
+ "base-stream", g_memory_output_stream_new (NULL, 0, g_realloc, g_free),
+ NULL);
+
+ comm->type = type;
+ g_vfs_afp_command_put_byte (comm, type);
+
+ return comm;
+}
+
+void
+g_vfs_afp_command_put_byte (GVfsAfpCommand *comm, guint8 byte)
+{
+ g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), byte, NULL, NULL);
+}
+
+void
+g_vfs_afp_command_put_int16 (GVfsAfpCommand *comm, gint16 val)
+{
+ g_data_output_stream_put_int16 (G_DATA_OUTPUT_STREAM (comm), val, NULL, NULL);
+}
+
+void
+g_vfs_afp_command_put_int32 (GVfsAfpCommand *comm, gint32 val)
+{
+ g_data_output_stream_put_int32 (G_DATA_OUTPUT_STREAM (comm), val, NULL, NULL);
+}
- command = g_object_new (G_VFS_TYPE_AFP_COMMAND,
- "base-stream", g_memory_output_stream_new (NULL, 0, g_realloc, g_free),
- NULL);
+void
+g_vfs_afp_command_put_int64 (GVfsAfpCommand *comm, gint64 val)
+{
+ g_data_output_stream_put_int64 (G_DATA_OUTPUT_STREAM (comm), val, NULL, NULL);
+}
- command->type = type;
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (command), type, NULL, NULL);
+void
+g_vfs_afp_command_put_uint16 (GVfsAfpCommand *comm, guint16 val)
+{
+ g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm), val, NULL, NULL);
+}
- return command;
+void
+g_vfs_afp_command_put_uint32 (GVfsAfpCommand *comm, guint32 val)
+{
+ g_data_output_stream_put_uint32 (G_DATA_OUTPUT_STREAM (comm), val, NULL, NULL);
}
void
-g_vfs_afp_command_put_pascal (GVfsAfpCommand *command, const char *str)
+g_vfs_afp_command_put_uint64 (GVfsAfpCommand *comm, guint64 val)
+{
+ g_data_output_stream_put_uint64 (G_DATA_OUTPUT_STREAM (comm), val, NULL, NULL);
+}
+
+void
+g_vfs_afp_command_put_pascal (GVfsAfpCommand *comm, const char *str)
{
size_t len;
len = MIN (strlen (str), 256);
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (command), len, NULL, NULL);
- g_output_stream_write (G_OUTPUT_STREAM (command), str, len, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, len);
+ g_output_stream_write (G_OUTPUT_STREAM (comm), str, len, NULL, NULL);
}
void
-g_vfs_afp_command_put_afp_name (GVfsAfpCommand *command, GVfsAfpName *afp_name)
+g_vfs_afp_command_put_afp_name (GVfsAfpCommand *comm, GVfsAfpName *afp_name)
{
- g_data_output_stream_put_uint32 (G_DATA_OUTPUT_STREAM (command),
- afp_name->text_encoding, NULL, NULL);
-
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (command),
- afp_name->len, NULL, NULL);
+ g_vfs_afp_command_put_uint32 (comm, afp_name->text_encoding);
+ g_vfs_afp_command_put_uint16 (comm, afp_name->len);
if (afp_name->len > 0)
{
- g_output_stream_write_all (G_OUTPUT_STREAM (command), afp_name->str,
+ g_output_stream_write_all (G_OUTPUT_STREAM (comm), afp_name->str,
afp_name->len, NULL, NULL, NULL);
}
}
void
-g_vfs_afp_command_pad_to_even (GVfsAfpCommand *command)
+g_vfs_afp_command_pad_to_even (GVfsAfpCommand *comm)
{
- if (g_vfs_afp_command_get_size (command) % 2 == 1)
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (command), 0, NULL, NULL);
+ if (g_vfs_afp_command_get_size (comm) % 2 == 1)
+ g_vfs_afp_command_put_byte (comm, 0);
}
gsize
-g_vfs_afp_command_get_size (GVfsAfpCommand *command)
+g_vfs_afp_command_get_size (GVfsAfpCommand *comm)
{
GMemoryOutputStream *mem_stream;
mem_stream =
- G_MEMORY_OUTPUT_STREAM (g_filter_output_stream_get_base_stream (G_FILTER_OUTPUT_STREAM (command)));
+ G_MEMORY_OUTPUT_STREAM (g_filter_output_stream_get_base_stream (G_FILTER_OUTPUT_STREAM (comm)));
return g_memory_output_stream_get_data_size (mem_stream);
}
char *
-g_vfs_afp_command_get_data (GVfsAfpCommand *command)
+g_vfs_afp_command_get_data (GVfsAfpCommand *comm)
{
GMemoryOutputStream *mem_stream;
mem_stream =
- G_MEMORY_OUTPUT_STREAM (g_filter_output_stream_get_base_stream (G_FILTER_OUTPUT_STREAM (command)));
+ G_MEMORY_OUTPUT_STREAM (g_filter_output_stream_get_base_stream (G_FILTER_OUTPUT_STREAM (comm)));
return g_memory_output_stream_get_data (mem_stream);
}
diff --git a/daemon/gvfsafpconnection.h b/daemon/gvfsafpconnection.h
index 7a57ace..939b637 100644
--- a/daemon/gvfsafpconnection.h
+++ b/daemon/gvfsafpconnection.h
@@ -247,13 +247,23 @@ typedef struct _GVfsAfpCommand GVfsAfpCommand;
GVfsAfpCommand* g_vfs_afp_command_new (AfpCommandType type);
-void g_vfs_afp_command_put_pascal (GVfsAfpCommand *command, const char *str);
-void g_vfs_afp_command_put_afp_name (GVfsAfpCommand *command, GVfsAfpName *afp_name);
+void g_vfs_afp_command_put_byte (GVfsAfpCommand *comm, guint8 byte);
-void g_vfs_afp_command_pad_to_even (GVfsAfpCommand *command);
+void g_vfs_afp_command_put_int16 (GVfsAfpCommand *comm, gint16 val);
+void g_vfs_afp_command_put_int32 (GVfsAfpCommand *comm, gint32 val);
+void g_vfs_afp_command_put_int64 (GVfsAfpCommand *comm, gint64 val);
-gsize g_vfs_afp_command_get_size (GVfsAfpCommand *command);
-char* g_vfs_afp_command_get_data (GVfsAfpCommand *command);
+void g_vfs_afp_command_put_uint16 (GVfsAfpCommand *comm, guint16 val);
+void g_vfs_afp_command_put_uint32 (GVfsAfpCommand *comm, guint32 val);
+void g_vfs_afp_command_put_uint64 (GVfsAfpCommand *comm, guint64 val);
+
+void g_vfs_afp_command_put_pascal (GVfsAfpCommand *comm, const char *str);
+void g_vfs_afp_command_put_afp_name (GVfsAfpCommand *comm, GVfsAfpName *afp_name);
+
+void g_vfs_afp_command_pad_to_even (GVfsAfpCommand *comm);
+
+gsize g_vfs_afp_command_get_size (GVfsAfpCommand *comm);
+char* g_vfs_afp_command_get_data (GVfsAfpCommand *comm);
GType g_vfs_afp_command_get_type (void) G_GNUC_CONST;
diff --git a/daemon/gvfsbackendafp.c b/daemon/gvfsbackendafp.c
index af90900..fd36b4e 100644
--- a/daemon/gvfsbackendafp.c
+++ b/daemon/gvfsbackendafp.c
@@ -117,8 +117,7 @@ put_pathname (GVfsAfpCommand *comm, const char *filename)
GVfsAfpName *pathname;
/* PathType */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), AFP_PATH_TYPE_UTF8_NAME,
- NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, AFP_PATH_TYPE_UTF8_NAME);
/* Pathname */
pathname = filename_to_afp_pathname (filename);
@@ -345,12 +344,11 @@ try_make_directory (GVfsBackend *backend,
comm = g_vfs_afp_command_new (AFP_COMMAND_CREATE_DIR);
/* pad byte */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, 0);
/* Volume ID */
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm),
- afp_backend->volume_id, NULL, NULL);
+ g_vfs_afp_command_put_uint16 (comm, afp_backend->volume_id);
/* Directory ID 2 == / */
- g_data_output_stream_put_uint32 (G_DATA_OUTPUT_STREAM (comm), 2, NULL, NULL);
+ g_vfs_afp_command_put_uint32 (comm, 2);
/* Pathname */
put_pathname (comm, filename);
@@ -429,12 +427,11 @@ try_delete (GVfsBackend *backend,
comm = g_vfs_afp_command_new (AFP_COMMAND_DELETE);
/* pad byte */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, 0);
/* Volume ID */
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm),
- afp_backend->volume_id, NULL, NULL);
+ g_vfs_afp_command_put_uint16 (comm, afp_backend->volume_id);
/* Directory ID 2 == / */
- g_data_output_stream_put_uint32 (G_DATA_OUTPUT_STREAM (comm), 2, NULL, NULL);
+ g_vfs_afp_command_put_uint32 (comm, 2);
/* Pathname */
put_pathname (comm, filename);
@@ -523,16 +520,14 @@ try_seek_on_read (GVfsBackend *backend,
comm = g_vfs_afp_command_new (AFP_COMMAND_GET_FORK_PARMS);
/* pad byte */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, 0);
/* OForkRefNum */
- g_data_output_stream_put_int16 (G_DATA_OUTPUT_STREAM (comm), afp_handle->fork_refnum,
- NULL, NULL);
+ g_vfs_afp_command_put_int16 (comm, afp_handle->fork_refnum);
/* Bitmap */
file_bitmap = AFP_FILE_BITMAP_EXT_DATA_FORK_LEN_BIT;
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm), file_bitmap,
- NULL, NULL);
+ g_vfs_afp_command_put_uint16 (comm, file_bitmap);
g_vfs_afp_connection_queue_command (afp_backend->server->conn, comm,
seek_on_read_cb, G_VFS_JOB (job)->cancellable,
@@ -609,18 +604,15 @@ try_read (GVfsBackend *backend,
comm = g_vfs_afp_command_new (AFP_COMMAND_READ_EXT);
/* pad byte */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, 0);
/* OForkRefNum */
- g_data_output_stream_put_int16 (G_DATA_OUTPUT_STREAM (comm),
- afp_handle->fork_refnum, NULL, NULL);
+ g_vfs_afp_command_put_int16 (comm, afp_handle->fork_refnum);
/* Offset */
- g_data_output_stream_put_int64 (G_DATA_OUTPUT_STREAM (comm),
- afp_handle->offset, NULL, NULL);
+ g_vfs_afp_command_put_int64 (comm, afp_handle->offset);
/* ReqCount */
req_count = MIN (bytes_requested, G_MAXUINT32);
- g_data_output_stream_put_int64 (G_DATA_OUTPUT_STREAM (comm),
- req_count, NULL, NULL);
+ g_vfs_afp_command_put_int64 (comm, req_count);
g_vfs_afp_connection_queue_command (afp_backend->server->conn, comm,
read_ext_cb, G_VFS_JOB (job)->cancellable,
@@ -674,10 +666,10 @@ try_close_read (GVfsBackend *backend,
comm = g_vfs_afp_command_new (AFP_COMMAND_CLOSE_FORK);
/* pad byte */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, 0);
- g_data_output_stream_put_int16 (G_DATA_OUTPUT_STREAM (comm), afp_handle->fork_refnum,
- NULL, NULL);
+ /* OForkRefNum */
+ g_vfs_afp_command_put_int16 (comm, afp_handle->fork_refnum);
g_vfs_afp_connection_queue_command (afp_backend->server->conn, comm,
close_fork_cb, G_VFS_JOB (job)->cancellable,
@@ -774,20 +766,18 @@ open_fork (GVfsBackendAfp *afp_backend,
comm = g_vfs_afp_command_new (AFP_COMMAND_OPEN_FORK);
/* data fork */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, 0);
/* Volume ID */
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm),
- afp_backend->volume_id, NULL, NULL);
+ g_vfs_afp_command_put_uint16 (comm, afp_backend->volume_id);
/* Directory ID */
- g_data_output_stream_put_int32 (G_DATA_OUTPUT_STREAM (comm), 2, NULL, NULL);
+ g_vfs_afp_command_put_uint32 (comm, 2);
/* Bitmap */
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
+ g_vfs_afp_command_put_uint16 (comm, 0);
/* AccessMode */
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm), access_mode,
- NULL, NULL);
+ g_vfs_afp_command_put_uint16 (comm, access_mode);
/* Pathname */
put_pathname (comm, filename);
@@ -893,12 +883,11 @@ try_create (GVfsBackend *backend,
comm = g_vfs_afp_command_new (AFP_COMMAND_CREATE_FILE);
/* soft create */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
- /* Volume ID */
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm),
- afp_backend->volume_id, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, 0);
+ /* Volume ID */
+ g_vfs_afp_command_put_uint16 (comm, afp_backend->volume_id);
/* Directory ID 2 == / */
- g_data_output_stream_put_uint32 (G_DATA_OUTPUT_STREAM (comm), 2, NULL, NULL);
+ g_vfs_afp_command_put_uint32 (comm, 2);
/* Pathname */
put_pathname (comm, filename);
@@ -1074,34 +1063,29 @@ enumerate_ext2 (GVfsJobEnumerate *job,
comm = g_vfs_afp_command_new (AFP_COMMAND_ENUMERATE_EXT2);
/* pad byte */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, 0);
/* Volume ID */
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm),
- afp_backend->volume_id, NULL, NULL);
-
+ g_vfs_afp_command_put_uint16 (comm, afp_backend->volume_id);
/* Directory ID 2 == / */
- g_data_output_stream_put_uint32 (G_DATA_OUTPUT_STREAM (comm), 2, NULL, NULL);
+ g_vfs_afp_command_put_uint32 (comm, 2);
/* File Bitmap */
file_bitmap = create_file_bitmap (matcher);
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm), file_bitmap,
- NULL, NULL);
+ g_vfs_afp_command_put_uint16 (comm, file_bitmap);
+
/* Dir Bitmap */
dir_bitmap = create_dir_bitmap (matcher);
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm), dir_bitmap,
- NULL, NULL);
+ g_vfs_afp_command_put_uint16 (comm, dir_bitmap);
/* Req Count */
- g_data_output_stream_put_int16 (G_DATA_OUTPUT_STREAM (comm), ENUMERATE_REQ_COUNT,
- NULL, NULL);
+ g_vfs_afp_command_put_int16 (comm, ENUMERATE_REQ_COUNT);
+
/* StartIndex */
- g_data_output_stream_put_int32 (G_DATA_OUTPUT_STREAM (comm), start_index,
- NULL, NULL);
+ g_vfs_afp_command_put_int32 (comm, start_index);
+
/* MaxReplySize */
- g_data_output_stream_put_int32 (G_DATA_OUTPUT_STREAM (comm),
- ENUMERATE_MAX_REPLY_SIZE, NULL, NULL);
-
+ g_vfs_afp_command_put_int32 (comm, ENUMERATE_MAX_REPLY_SIZE);
/* Pathname */
put_pathname (comm, filename);
@@ -1276,12 +1260,11 @@ try_query_info (GVfsBackend *backend,
comm = g_vfs_afp_command_new (AFP_COMMAND_GET_VOL_PARMS);
/* pad byte */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, 0);
/* Volume ID */
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm),
- afp_backend->volume_id, NULL, NULL);
-
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm), vol_bitmap, NULL, NULL);
+ g_vfs_afp_command_put_uint16 (comm, afp_backend->volume_id);
+ /* Volume Bitmap */
+ g_vfs_afp_command_put_uint16 (comm, vol_bitmap);
g_vfs_afp_connection_queue_command (afp_backend->server->conn, comm,
get_vol_parms_cb, G_VFS_JOB (job)->cancellable,
@@ -1300,19 +1283,17 @@ try_query_info (GVfsBackend *backend,
comm = g_vfs_afp_command_new (AFP_COMMAND_GET_FILE_DIR_PARMS);
/* pad byte */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, 0);
/* Volume ID */
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm), afp_backend->volume_id, NULL, NULL);
+ g_vfs_afp_command_put_uint16 (comm, afp_backend->volume_id);
/* Directory ID */
- g_data_output_stream_put_uint32 (G_DATA_OUTPUT_STREAM (comm), 2, NULL, NULL);
+ g_vfs_afp_command_put_uint32 (comm, 2);
file_bitmap = create_file_bitmap (matcher);
- g_data_output_stream_put_int16 (G_DATA_OUTPUT_STREAM (comm), file_bitmap,
- NULL, NULL);
+ g_vfs_afp_command_put_uint16 (comm, file_bitmap);
dir_bitmap = create_dir_bitmap (matcher);
- g_data_output_stream_put_int16 (G_DATA_OUTPUT_STREAM (comm), dir_bitmap,
- NULL, NULL);
+ g_vfs_afp_command_put_uint16 (comm, dir_bitmap);
/* Pathname */
put_pathname (comm, filename);
@@ -1358,7 +1339,7 @@ do_mount (GVfsBackend *backend,
/* Get Server Parameters */
comm = g_vfs_afp_command_new (AFP_COMMAND_GET_SRVR_PARMS);
/* pad byte */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, 0);
res = g_vfs_afp_connection_send_command_sync (afp_backend->server->conn,
comm, G_VFS_JOB (job)->cancellable,
@@ -1389,12 +1370,11 @@ do_mount (GVfsBackend *backend,
/* Open Volume */
comm = g_vfs_afp_command_new (AFP_COMMAND_OPEN_VOL);
/* pad byte */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, 0);
/* Volume Bitmap */
vol_bitmap = AFP_VOLUME_BITMAP_VOL_ID_BIT;
- g_data_output_stream_put_uint16 (G_DATA_OUTPUT_STREAM (comm), vol_bitmap,
- NULL, NULL);
+ g_vfs_afp_command_put_uint16 (comm, vol_bitmap);
/* VolumeName */
g_vfs_afp_command_put_pascal (comm, afp_backend->volume);
diff --git a/daemon/gvfsbackendafpbrowse.c b/daemon/gvfsbackendafpbrowse.c
index 13ff99d..b802a48 100644
--- a/daemon/gvfsbackendafpbrowse.c
+++ b/daemon/gvfsbackendafpbrowse.c
@@ -175,7 +175,7 @@ update_cache (GVfsBackendAfpBrowse *afp_backend, GCancellable *cancellable,
comm = g_vfs_afp_command_new (AFP_COMMAND_GET_SRVR_PARMS);
/* pad byte */
- g_data_output_stream_put_byte (G_DATA_OUTPUT_STREAM (comm), 0, NULL, NULL);
+ g_vfs_afp_command_put_byte (comm, 0);
g_vfs_afp_connection_queue_command (afp_backend->server->conn, comm,
get_srvr_parms_cb,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]