+static void
+g_memory_output_stream_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GMemoryOutputStream *stream;
+ GMemoryOutputStreamPrivate *priv;
+
+ stream = G_MEMORY_OUTPUT_STREAM (object);
+ priv = stream->priv;
+
+ switch (prop_id)
+ {
+ case PROP_DATA:
+ priv->data = g_value_get_pointer (value);
+ break;
+ case PROP_SIZE:
+ priv->len = g_value_get_ulong (value);
+ break;
+ case PROP_REALLOC_FUNCTION:
+ priv->realloc_fn = g_value_get_pointer (value);
+ break;
+ case PROP_DESTROY_FUNCTION:
+ priv->destroy = g_value_get_pointer (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+g_memory_output_stream_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GMemoryOutputStream *stream;
+ GMemoryOutputStreamPrivate *priv;
+
+ stream = G_MEMORY_OUTPUT_STREAM (object);
+ priv = stream->priv;
+
+ switch (prop_id)
+ {
+ case PROP_DATA:
+ g_value_set_pointer (value, priv->data);
+ break;
+ case PROP_SIZE:
+ g_value_set_ulong (value, priv->len);
+ break;
+ case PROP_DATA_SIZE:
+ g_value_set_ulong (value, priv->valid_len);
+ break;
+ case PROP_REALLOC_FUNCTION:
+ g_value_set_pointer (value, priv->realloc_fn);
+ break;
+ case PROP_DESTROY_FUNCTION:
+ g_value_set_pointer (value, priv->destroy);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }