[glib/wip/win32streams: 2/2] gwin32outputstream: cleanups to make the code more consistent
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/wip/win32streams: 2/2] gwin32outputstream: cleanups to make the code more consistent
- Date: Thu, 25 Feb 2016 09:04:52 +0000 (UTC)
commit 73192b84f8f9c579b46d4f10bb57b679a8b25582
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Thu Feb 25 10:00:32 2016 +0100
gwin32outputstream: cleanups to make the code more consistent
gio/gwin32outputstream.c | 323 ++++++++++++++++++++++------------------------
1 files changed, 156 insertions(+), 167 deletions(-)
---
diff --git a/gio/gwin32outputstream.c b/gio/gwin32outputstream.c
index eea90ee..1e9090c 100644
--- a/gio/gwin32outputstream.c
+++ b/gio/gwin32outputstream.c
@@ -34,7 +34,6 @@
#include "gasynchelper.h"
#include "glibintl.h"
-
/**
* SECTION:gwin32outputstream
* @short_description: Streaming output operations for Windows file handles
@@ -49,79 +48,22 @@
* when using it.
*/
-enum {
- PROP_0,
- PROP_HANDLE,
- PROP_CLOSE_HANDLE
-};
-
struct _GWin32OutputStreamPrivate {
HANDLE handle;
gboolean close_handle;
gint fd;
};
-G_DEFINE_TYPE_WITH_PRIVATE (GWin32OutputStream, g_win32_output_stream, G_TYPE_OUTPUT_STREAM)
-
-static void g_win32_output_stream_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec);
-static void g_win32_output_stream_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec);
-static gssize g_win32_output_stream_write (GOutputStream *stream,
- const void *buffer,
- gsize count,
- GCancellable *cancellable,
- GError **error);
-static gboolean g_win32_output_stream_close (GOutputStream *stream,
- GCancellable *cancellable,
- GError **error);
-
-
-static void
-g_win32_output_stream_class_init (GWin32OutputStreamClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- GOutputStreamClass *stream_class = G_OUTPUT_STREAM_CLASS (klass);
-
- gobject_class->get_property = g_win32_output_stream_get_property;
- gobject_class->set_property = g_win32_output_stream_set_property;
-
- stream_class->write_fn = g_win32_output_stream_write;
- stream_class->close_fn = g_win32_output_stream_close;
+enum {
+ PROP_0,
+ PROP_HANDLE,
+ PROP_CLOSE_HANDLE,
+ LAST_PROP
+};
- /**
- * GWin32OutputStream:handle:
- *
- * The file handle that the stream writes to.
- *
- * Since: 2.26
- */
- g_object_class_install_property (gobject_class,
- PROP_HANDLE,
- g_param_spec_pointer ("handle",
- P_("File handle"),
- P_("The file handle to write to"),
- G_PARAM_READABLE | G_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
+static GParamSpec *props[LAST_PROP];
- /**
- * GWin32OutputStream:close-handle:
- *
- * Whether to close the file handle when the stream is closed.
- *
- * Since: 2.26
- */
- g_object_class_install_property (gobject_class,
- PROP_CLOSE_HANDLE,
- g_param_spec_boolean ("close-handle",
- P_("Close file handle"),
- P_("Whether to close the file handle when the stream
is closed"),
- TRUE,
- G_PARAM_READABLE | G_PARAM_WRITABLE |
G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
-}
+G_DEFINE_TYPE_WITH_PRIVATE (GWin32OutputStream, g_win32_output_stream, G_TYPE_OUTPUT_STREAM)
static void
g_win32_output_stream_set_property (GObject *object,
@@ -170,106 +112,6 @@ g_win32_output_stream_get_property (GObject *object,
}
}
-static void
-g_win32_output_stream_init (GWin32OutputStream *win32_stream)
-{
- win32_stream->priv = g_win32_output_stream_get_instance_private (win32_stream);
- win32_stream->priv->handle = NULL;
- win32_stream->priv->close_handle = TRUE;
- win32_stream->priv->fd = -1;
-}
-
-/**
- * g_win32_output_stream_new:
- * @handle: a Win32 file handle
- * @close_handle: %TRUE to close the handle when done
- *
- * Creates a new #GWin32OutputStream for the given @handle.
- *
- * If @close_handle, is %TRUE, the handle will be closed when the
- * output stream is destroyed.
- *
- * Returns: a new #GOutputStream
- *
- * Since: 2.26
-**/
-GOutputStream *
-g_win32_output_stream_new (void *handle,
- gboolean close_handle)
-{
- GWin32OutputStream *stream;
-
- g_return_val_if_fail (handle != NULL, NULL);
-
- stream = g_object_new (G_TYPE_WIN32_OUTPUT_STREAM,
- "handle", handle,
- "close-handle", close_handle,
- NULL);
-
- return G_OUTPUT_STREAM (stream);
-}
-
-/**
- * g_win32_output_stream_set_close_handle:
- * @stream: a #GWin32OutputStream
- * @close_handle: %TRUE to close the handle when done
- *
- * Sets whether the handle of @stream shall be closed when the stream
- * is closed.
- *
- * Since: 2.26
- */
-void
-g_win32_output_stream_set_close_handle (GWin32OutputStream *stream,
- gboolean close_handle)
-{
- g_return_if_fail (G_IS_WIN32_OUTPUT_STREAM (stream));
-
- close_handle = close_handle != FALSE;
- if (stream->priv->close_handle != close_handle)
- {
- stream->priv->close_handle = close_handle;
- g_object_notify (G_OBJECT (stream), "close-handle");
- }
-}
-
-/**
- * g_win32_output_stream_get_close_handle:
- * @stream: a #GWin32OutputStream
- *
- * Returns whether the handle of @stream will be closed when the
- * stream is closed.
- *
- * Returns: %TRUE if the handle is closed when done
- *
- * Since: 2.26
- */
-gboolean
-g_win32_output_stream_get_close_handle (GWin32OutputStream *stream)
-{
- g_return_val_if_fail (G_IS_WIN32_OUTPUT_STREAM (stream), FALSE);
-
- return stream->priv->close_handle;
-}
-
-/**
- * g_win32_output_stream_get_handle:
- * @stream: a #GWin32OutputStream
- *
- * Return the Windows handle that the stream writes to.
- *
- * Returns: The handle descriptor of @stream
- *
- * Since: 2.26
- */
-void *
-g_win32_output_stream_get_handle (GWin32OutputStream *stream)
-{
- g_return_val_if_fail (G_IS_WIN32_OUTPUT_STREAM (stream), NULL);
-
- return stream->priv->handle;
-}
-
static gssize
g_win32_output_stream_write (GOutputStream *stream,
const void *buffer,
@@ -381,9 +223,156 @@ g_win32_output_stream_close (GOutputStream *stream,
return TRUE;
}
+static void
+g_win32_output_stream_class_init (GWin32OutputStreamClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GOutputStreamClass *stream_class = G_OUTPUT_STREAM_CLASS (klass);
+
+ gobject_class->get_property = g_win32_output_stream_get_property;
+ gobject_class->set_property = g_win32_output_stream_set_property;
+
+ stream_class->write_fn = g_win32_output_stream_write;
+ stream_class->close_fn = g_win32_output_stream_close;
+
+ /**
+ * GWin32OutputStream:handle:
+ *
+ * The file handle that the stream writes to.
+ *
+ * Since: 2.26
+ */
+ props[PROP_HANDLE] =
+ g_param_spec_pointer ("handle",
+ P_("File handle"),
+ P_("The file handle to write to"),
+ G_PARAM_READABLE |
+ G_PARAM_WRITABLE |
+ G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ /**
+ * GWin32OutputStream:close-handle:
+ *
+ * Whether to close the file handle when the stream is closed.
+ *
+ * Since: 2.26
+ */
+ props[PROP_CLOSE_HANDLE] =
+ g_param_spec_boolean ("close-handle",
+ P_("Close file handle"),
+ P_("Whether to close the file handle when the stream is closed"),
+ TRUE,
+ G_PARAM_READABLE |
+ G_PARAM_WRITABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (gobject_class, LAST_PROP, props);
+}
+
+static void
+g_win32_output_stream_init (GWin32OutputStream *win32_stream)
+{
+ win32_stream->priv = g_win32_output_stream_get_instance_private (win32_stream);
+ win32_stream->priv->handle = NULL;
+ win32_stream->priv->close_handle = TRUE;
+ win32_stream->priv->fd = -1;
+}
+
+/**
+ * g_win32_output_stream_new:
+ * @handle: a Win32 file handle
+ * @close_handle: %TRUE to close the handle when done
+ *
+ * Creates a new #GWin32OutputStream for the given @handle.
+ *
+ * If @close_handle, is %TRUE, the handle will be closed when the
+ * output stream is destroyed.
+ *
+ * Returns: a new #GOutputStream
+ *
+ * Since: 2.26
+**/
+GOutputStream *
+g_win32_output_stream_new (void *handle,
+ gboolean close_handle)
+{
+ GWin32OutputStream *stream;
+
+ g_return_val_if_fail (handle != NULL, NULL);
+
+ stream = g_object_new (G_TYPE_WIN32_OUTPUT_STREAM,
+ "handle", handle,
+ "close-handle", close_handle,
+ NULL);
+
+ return G_OUTPUT_STREAM (stream);
+}
+
+/**
+ * g_win32_output_stream_set_close_handle:
+ * @stream: a #GWin32OutputStream
+ * @close_handle: %TRUE to close the handle when done
+ *
+ * Sets whether the handle of @stream shall be closed when the stream
+ * is closed.
+ *
+ * Since: 2.26
+ */
+void
+g_win32_output_stream_set_close_handle (GWin32OutputStream *stream,
+ gboolean close_handle)
+{
+ g_return_if_fail (G_IS_WIN32_OUTPUT_STREAM (stream));
+
+ close_handle = close_handle != FALSE;
+ if (stream->priv->close_handle != close_handle)
+ {
+ stream->priv->close_handle = close_handle;
+ g_object_notify (G_OBJECT (stream), "close-handle");
+ }
+}
+
+/**
+ * g_win32_output_stream_get_close_handle:
+ * @stream: a #GWin32OutputStream
+ *
+ * Returns whether the handle of @stream will be closed when the
+ * stream is closed.
+ *
+ * Returns: %TRUE if the handle is closed when done
+ *
+ * Since: 2.26
+ */
+gboolean
+g_win32_output_stream_get_close_handle (GWin32OutputStream *stream)
+{
+ g_return_val_if_fail (G_IS_WIN32_OUTPUT_STREAM (stream), FALSE);
+
+ return stream->priv->close_handle;
+}
+
+/**
+ * g_win32_output_stream_get_handle:
+ * @stream: a #GWin32OutputStream
+ *
+ * Return the Windows handle that the stream writes to.
+ *
+ * Returns: The handle descriptor of @stream
+ *
+ * Since: 2.26
+ */
+void *
+g_win32_output_stream_get_handle (GWin32OutputStream *stream)
+{
+ g_return_val_if_fail (G_IS_WIN32_OUTPUT_STREAM (stream), NULL);
+
+ return stream->priv->handle;
+}
+
GOutputStream *
g_win32_output_stream_new_from_fd (gint fd,
- gboolean close_fd)
+ gboolean close_fd)
{
GWin32OutputStream *win32_stream;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]