8
8
<link rel="up" href="streaming.html" title="Streaming I/O">
9
9
<link rel="prev" href="GMemoryInputStream.html" title="GMemoryInputStream">
10
10
<link rel="next" href="GBufferedInputStream.html" title="GBufferedInputStream">
11
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
11
<meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
14
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
46
46
<pre class="synopsis">
47
47
#include <gio/gio.h>
49
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> (<a class="link" href="GMemoryOutputStream.html#GReallocFunc" title="GReallocFunc ()">*GReallocFunc</a>) (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
50
<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);
49
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> (<a class="link" href="GMemoryOutputStream.html#GReallocFunc" title="GReallocFunc ()">*GReallocFunc</a>) (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
50
<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);
51
51
<a class="link" href="GMemoryOutputStream.html#GMemoryOutputStream-struct" title="GMemoryOutputStream">GMemoryOutputStream</a>;
52
<a class="link" href="GOutputStream.html" title="GOutputStream"><span class="returnvalue">GOutputStream</span></a> * <a class="link" href="GMemoryOutputStream.html#g-memory-output-stream-new" title="g_memory_output_stream_new ()">g_memory_output_stream_new</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
53
<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
52
<a class="link" href="GOutputStream.html" title="GOutputStream"><span class="returnvalue">GOutputStream</span></a> * <a class="link" href="GMemoryOutputStream.html#g-memory-output-stream-new" title="g_memory_output_stream_new ()">g_memory_output_stream_new</a> (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
53
<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
54
54
<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html#GReallocFunc" title="GReallocFunc ()"><span class="type">GReallocFunc</span></a> realloc_function</code></em>,
55
<em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy_function</code></em>);
56
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="GMemoryOutputStream.html#g-memory-output-stream-get-data" title="g_memory_output_stream_get_data ()">g_memory_output_stream_get_data</a> (<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);
57
<a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> <a class="link" href="GMemoryOutputStream.html#g-memory-output-stream-get-size" title="g_memory_output_stream_get_size ()">g_memory_output_stream_get_size</a> (<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);
58
<a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> <a class="link" href="GMemoryOutputStream.html#g-memory-output-stream-get-data-size" title="g_memory_output_stream_get_data_size ()">g_memory_output_stream_get_data_size</a>
59
(<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);
60
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="GMemoryOutputStream.html#g-memory-output-stream-steal-data" title="g_memory_output_stream_steal_data ()">g_memory_output_stream_steal_data</a> (<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);
55
<em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy_function</code></em>);
56
<a class="link" href="GOutputStream.html" title="GOutputStream"><span class="returnvalue">GOutputStream</span></a> * <a class="link" href="GMemoryOutputStream.html#g-memory-output-stream-new-resizable" title="g_memory_output_stream_new_resizable ()">g_memory_output_stream_new_resizable</a>
57
(<em class="parameter"><code><span class="type">void</span></code></em>);
58
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="GMemoryOutputStream.html#g-memory-output-stream-get-data" title="g_memory_output_stream_get_data ()">g_memory_output_stream_get_data</a> (<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);
59
<a href="../glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> <a class="link" href="GMemoryOutputStream.html#g-memory-output-stream-get-size" title="g_memory_output_stream_get_size ()">g_memory_output_stream_get_size</a> (<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);
60
<a href="../glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> <a class="link" href="GMemoryOutputStream.html#g-memory-output-stream-get-data-size" title="g_memory_output_stream_get_data_size ()">g_memory_output_stream_get_data_size</a>
61
(<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);
62
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="GMemoryOutputStream.html#g-memory-output-stream-steal-data" title="g_memory_output_stream_steal_data ()">g_memory_output_stream_steal_data</a> (<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);
63
<a href="../glib/glib-Byte-Arrays.html#GBytes"><span class="returnvalue">GBytes</span></a> * <a class="link" href="GMemoryOutputStream.html#g-memory-output-stream-steal-as-bytes" title="g_memory_output_stream_steal_as_bytes ()">g_memory_output_stream_steal_as_bytes</a>
64
(<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);
63
67
<div class="refsect1">
64
68
<a name="GMemoryOutputStream.object-hierarchy"></a><h2>Object Hierarchy</h2>
65
69
<pre class="synopsis">
66
<a href="./../gobject/gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>
70
<a href="../gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>
67
71
+----<a class="link" href="GOutputStream.html" title="GOutputStream">GOutputStream</a>
68
72
+----GMemoryOutputStream
72
76
<a name="GMemoryOutputStream.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
74
78
GMemoryOutputStream implements
75
<a class="link" href="GSeekable.html" title="GSeekable">GSeekable</a>.</p>
79
<a class="link" href="GSeekable.html" title="GSeekable">GSeekable</a> and <a class="link" href="GPollableOutputStream.html" title="GPollableOutputStream">GPollableOutputStream</a>.</p>
77
81
<div class="refsect1">
78
82
<a name="GMemoryOutputStream.properties"></a><h2>Properties</h2>
79
83
<pre class="synopsis">
80
"<a class="link" href="GMemoryOutputStream.html#GMemoryOutputStream--data" title='The "data" property'>data</a>" <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Read / Write / Construct Only
81
"<a class="link" href="GMemoryOutputStream.html#GMemoryOutputStream--data-size" title='The "data-size" property'>data-size</a>" <a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> : Read
82
"<a class="link" href="GMemoryOutputStream.html#GMemoryOutputStream--destroy-function" title='The "destroy-function" property'>destroy-function</a>" <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Read / Write / Construct Only
83
"<a class="link" href="GMemoryOutputStream.html#GMemoryOutputStream--realloc-function" title='The "realloc-function" property'>realloc-function</a>" <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Read / Write / Construct Only
84
"<a class="link" href="GMemoryOutputStream.html#GMemoryOutputStream--size" title='The "size" property'>size</a>" <a href="./../glib/glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> : Read / Write / Construct Only
84
"<a class="link" href="GMemoryOutputStream.html#GMemoryOutputStream--data" title='The "data" property'>data</a>" <a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Read / Write / Construct Only
85
"<a class="link" href="GMemoryOutputStream.html#GMemoryOutputStream--data-size" title='The "data-size" property'>data-size</a>" <a href="../glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> : Read
86
"<a class="link" href="GMemoryOutputStream.html#GMemoryOutputStream--destroy-function" title='The "destroy-function" property'>destroy-function</a>" <a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Read / Write / Construct Only
87
"<a class="link" href="GMemoryOutputStream.html#GMemoryOutputStream--realloc-function" title='The "realloc-function" property'>realloc-function</a>" <a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Read / Write / Construct Only
88
"<a class="link" href="GMemoryOutputStream.html#GMemoryOutputStream--size" title='The "size" property'>size</a>" <a href="../glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> : Read / Write / Construct Only
87
91
<div class="refsect1">
90
94
<a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> is a class for using arbitrary
91
95
memory chunks as output for GIO streaming output operations.
98
As of GLib 2.34, <a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> implements
99
<a class="link" href="GPollableOutputStream.html" title="GPollableOutputStream"><span class="type">GPollableOutputStream</span></a>.
94
102
<div class="refsect1">
95
103
<a name="GMemoryOutputStream.details"></a><h2>Details</h2>
96
104
<div class="refsect2">
97
105
<a name="GReallocFunc"></a><h3>GReallocFunc ()</h3>
98
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> (*GReallocFunc) (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
99
<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
106
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> (*GReallocFunc) (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
107
<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
101
109
Changes the size of the memory block pointed to by <em class="parameter"><code>data</code></em> to
102
110
<em class="parameter"><code>size</code></em> bytes.
137
145
<div class="refsect2">
138
146
<a name="g-memory-output-stream-new"></a><h3>g_memory_output_stream_new ()</h3>
139
<pre class="programlisting"><a class="link" href="GOutputStream.html" title="GOutputStream"><span class="returnvalue">GOutputStream</span></a> * g_memory_output_stream_new (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
140
<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
147
<pre class="programlisting"><a class="link" href="GOutputStream.html" title="GOutputStream"><span class="returnvalue">GOutputStream</span></a> * g_memory_output_stream_new (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
148
<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
141
149
<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html#GReallocFunc" title="GReallocFunc ()"><span class="type">GReallocFunc</span></a> realloc_function</code></em>,
142
<em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy_function</code></em>);</pre>
150
<em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy_function</code></em>);</pre>
144
152
Creates a new <a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a>.
147
If <em class="parameter"><code>data</code></em> is non-<a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the stream will use that for its internal storage.
148
If <em class="parameter"><code>realloc_fn</code></em> is non-<a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, it will be used for resizing the internal
155
If <em class="parameter"><code>data</code></em> is non-<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the stream will use that for its internal storage.
156
If <em class="parameter"><code>realloc_fn</code></em> is non-<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, it will be used for resizing the internal
149
157
storage when necessary. To construct a fixed-size output stream,
150
pass <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> as <em class="parameter"><code>realloc_fn</code></em>.
158
pass <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> as <em class="parameter"><code>realloc_fn</code></em>.
167
175
<td class="listing_code"><pre class="programlisting"><span class="comment">/* a stream that can grow */</span>
168
<span class="normal">stream </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GMemoryOutputStream.html#g-memory-output-stream-new">g_memory_output_stream_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> realloc</span><span class="symbol">,</span><span class="normal"> free</span><span class="symbol">);</span>
176
<span class="normal">stream </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GMemoryOutputStream.html#g-memory-output-stream-new">g_memory_output_stream_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> realloc</span><span class="symbol">,</span><span class="normal"> free</span><span class="symbol">);</span>
170
178
<span class="comment">/* another stream that can grow */</span>
171
<span class="normal">stream2 </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GMemoryOutputStream.html#g-memory-output-stream-new">g_memory_output_stream_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> <a href="./../glib/glib/glib-Memory-Allocation.html#g-realloc">g_realloc</a></span><span class="symbol">,</span><span class="normal"> <a href="./../glib/glib/glib-Memory-Allocation.html#g-free">g_free</a></span><span class="symbol">);</span>
179
<span class="normal">stream2 </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GMemoryOutputStream.html#g-memory-output-stream-new">g_memory_output_stream_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Memory-Allocation.html#g-realloc">g_realloc</a></span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Memory-Allocation.html#g-free">g_free</a></span><span class="symbol">);</span>
173
181
<span class="comment">/* a fixed-size stream */</span>
174
182
<span class="normal">data </span><span class="symbol">=</span><span class="normal"> </span><span class="function">malloc</span><span class="normal"> </span><span class="symbol">(</span><span class="number">200</span><span class="symbol">);</span>
175
<span class="normal">stream3 </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GMemoryOutputStream.html#g-memory-output-stream-new">g_memory_output_stream_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">data</span><span class="symbol">,</span><span class="normal"> </span><span class="number">200</span><span class="symbol">,</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> free</span><span class="symbol">);</span></pre></td>
183
<span class="normal">stream3 </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GMemoryOutputStream.html#g-memory-output-stream-new">g_memory_output_stream_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">data</span><span class="symbol">,</span><span class="normal"> </span><span class="number">200</span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> free</span><span class="symbol">);</span></pre></td>
200
208
<td><p><span class="term"><em class="parameter"><code>realloc_function</code></em> :</span></p></td>
201
<td>a function with <code class="function">realloc()</code> semantics (like <a href="./../glib/glib/glib-Memory-Allocation.html#g-realloc"><code class="function">g_realloc()</code></a>)
202
to be called when <em class="parameter"><code>data</code></em> needs to be grown, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
209
<td>a function with <code class="function">realloc()</code> semantics (like <a href="../glib/glib-Memory-Allocation.html#g-realloc"><code class="function">g_realloc()</code></a>)
210
to be called when <em class="parameter"><code>data</code></em> needs to be grown, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
206
214
<td><p><span class="term"><em class="parameter"><code>destroy_function</code></em> :</span></p></td>
207
215
<td>a function to be called on <em class="parameter"><code>data</code></em> when the stream is
208
finalized, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
216
finalized, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
219
227
<div class="refsect2">
228
<a name="g-memory-output-stream-new-resizable"></a><h3>g_memory_output_stream_new_resizable ()</h3>
229
<pre class="programlisting"><a class="link" href="GOutputStream.html" title="GOutputStream"><span class="returnvalue">GOutputStream</span></a> * g_memory_output_stream_new_resizable
230
(<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
232
Creates a new <a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a>, using <a href="../glib/glib-Memory-Allocation.html#g-realloc"><code class="function">g_realloc()</code></a> and <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>
233
for memory allocation.
235
<p class="since">Since 2.36</p>
238
<div class="refsect2">
220
239
<a name="g-memory-output-stream-get-data"></a><h3>g_memory_output_stream_get_data ()</h3>
221
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> g_memory_output_stream_get_data (<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);</pre>
240
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> g_memory_output_stream_get_data (<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);</pre>
223
242
Gets any loaded data from the <em class="parameter"><code>ostream</code></em>.
249
268
<div class="refsect2">
250
269
<a name="g-memory-output-stream-get-size"></a><h3>g_memory_output_stream_get_size ()</h3>
251
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> g_memory_output_stream_get_size (<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);</pre>
270
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> g_memory_output_stream_get_size (<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);</pre>
253
272
Gets the size of the currently allocated data area (available from
254
273
<a class="link" href="GMemoryOutputStream.html#g-memory-output-stream-get-data" title="g_memory_output_stream_get_data ()"><code class="function">g_memory_output_stream_get_data()</code></a>). If the stream isn't
315
334
<div class="refsect2">
316
335
<a name="g-memory-output-stream-steal-data"></a><h3>g_memory_output_stream_steal_data ()</h3>
317
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> g_memory_output_stream_steal_data (<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);</pre>
336
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> g_memory_output_stream_steal_data (<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);</pre>
319
338
Gets any loaded data from the <em class="parameter"><code>ostream</code></em>. Ownership of the data
320
339
is transferred to the caller; when no longer needed it must be
345
364
<p class="since">Since 2.26</p>
367
<div class="refsect2">
368
<a name="g-memory-output-stream-steal-as-bytes"></a><h3>g_memory_output_stream_steal_as_bytes ()</h3>
369
<pre class="programlisting"><a href="../glib/glib-Byte-Arrays.html#GBytes"><span class="returnvalue">GBytes</span></a> * g_memory_output_stream_steal_as_bytes
370
(<em class="parameter"><code><a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a> *ostream</code></em>);</pre>
372
Returns data from the <em class="parameter"><code>ostream</code></em> as a <a href="../glib/glib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a>. <em class="parameter"><code>ostream</code></em> must be
373
closed before calling this function.
375
<div class="variablelist"><table border="0" class="variablelist">
377
<col align="left" valign="top">
382
<td><p><span class="term"><em class="parameter"><code>ostream</code></em> :</span></p></td>
383
<td>a <a class="link" href="GMemoryOutputStream.html" title="GMemoryOutputStream"><span class="type">GMemoryOutputStream</span></a>
387
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
388
<td>the stream's data. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
393
<p class="since">Since 2.34</p>
348
396
<div class="refsect1">
349
397
<a name="GMemoryOutputStream.property-details"></a><h2>Property Details</h2>
350
398
<div class="refsect2">
351
399
<a name="GMemoryOutputStream--data"></a><h3>The <code class="literal">"data"</code> property</h3>
352
<pre class="programlisting"> "data" <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Read / Write / Construct Only</pre>
400
<pre class="programlisting"> "data" <a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Read / Write / Construct Only</pre>
354
402
Pointer to buffer where data will be written.