Imported Upstream version 2.50.2
[platform/upstream/glib.git] / docs / reference / gio / html / GBufferedOutputStream.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GBufferedOutputStream: GIO Reference Manual</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="index.html" title="GIO Reference Manual">
8 <link rel="up" href="streaming.html" title="Streaming I/O">
9 <link rel="prev" href="GBufferedInputStream.html" title="GBufferedInputStream">
10 <link rel="next" href="GDataInputStream.html" title="GDataInputStream">
11 <meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts">
17 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18                   <a href="#GBufferedOutputStream.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
19                   <a href="#GBufferedOutputStream.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
20                   <a href="#GBufferedOutputStream.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
21                   <a href="#GBufferedOutputStream.properties" class="shortcut">Properties</a></span>
22 </td>
23 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
24 <td><a accesskey="u" href="streaming.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
25 <td><a accesskey="p" href="GBufferedInputStream.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
26 <td><a accesskey="n" href="GDataInputStream.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
27 </tr></table>
28 <div class="refentry">
29 <a name="GBufferedOutputStream"></a><div class="titlepage"></div>
30 <div class="refnamediv"><table width="100%"><tr>
31 <td valign="top">
32 <h2><span class="refentrytitle"><a name="GBufferedOutputStream.top_of_page"></a>GBufferedOutputStream</span></h2>
33 <p>GBufferedOutputStream — Buffered Output Stream</p>
34 </td>
35 <td class="gallery_image" valign="top" align="right"></td>
36 </tr></table></div>
37 <div class="refsect1">
38 <a name="GBufferedOutputStream.functions"></a><h2>Functions</h2>
39 <div class="informaltable"><table class="informaltable" width="100%" border="0">
40 <colgroup>
41 <col width="150px" class="functions_return">
42 <col class="functions_name">
43 </colgroup>
44 <tbody>
45 <tr>
46 <td class="function_type">
47 <a class="link" href="GOutputStream.html" title="GOutputStream"><span class="returnvalue">GOutputStream</span></a> *
48 </td>
49 <td class="function_name">
50 <a class="link" href="GBufferedOutputStream.html#g-buffered-output-stream-new" title="g_buffered_output_stream_new ()">g_buffered_output_stream_new</a> <span class="c_punctuation">()</span>
51 </td>
52 </tr>
53 <tr>
54 <td class="function_type">
55 <a class="link" href="GOutputStream.html" title="GOutputStream"><span class="returnvalue">GOutputStream</span></a> *
56 </td>
57 <td class="function_name">
58 <a class="link" href="GBufferedOutputStream.html#g-buffered-output-stream-new-sized" title="g_buffered_output_stream_new_sized ()">g_buffered_output_stream_new_sized</a> <span class="c_punctuation">()</span>
59 </td>
60 </tr>
61 <tr>
62 <td class="function_type">
63 <a href="../glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
64 </td>
65 <td class="function_name">
66 <a class="link" href="GBufferedOutputStream.html#g-buffered-output-stream-get-buffer-size" title="g_buffered_output_stream_get_buffer_size ()">g_buffered_output_stream_get_buffer_size</a> <span class="c_punctuation">()</span>
67 </td>
68 </tr>
69 <tr>
70 <td class="function_type">
71 <span class="returnvalue">void</span>
72 </td>
73 <td class="function_name">
74 <a class="link" href="GBufferedOutputStream.html#g-buffered-output-stream-set-buffer-size" title="g_buffered_output_stream_set_buffer_size ()">g_buffered_output_stream_set_buffer_size</a> <span class="c_punctuation">()</span>
75 </td>
76 </tr>
77 <tr>
78 <td class="function_type">
79 <a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
80 </td>
81 <td class="function_name">
82 <a class="link" href="GBufferedOutputStream.html#g-buffered-output-stream-get-auto-grow" title="g_buffered_output_stream_get_auto_grow ()">g_buffered_output_stream_get_auto_grow</a> <span class="c_punctuation">()</span>
83 </td>
84 </tr>
85 <tr>
86 <td class="function_type">
87 <span class="returnvalue">void</span>
88 </td>
89 <td class="function_name">
90 <a class="link" href="GBufferedOutputStream.html#g-buffered-output-stream-set-auto-grow" title="g_buffered_output_stream_set_auto_grow ()">g_buffered_output_stream_set_auto_grow</a> <span class="c_punctuation">()</span>
91 </td>
92 </tr>
93 </tbody>
94 </table></div>
95 </div>
96 <div class="refsect1">
97 <a name="GBufferedOutputStream.properties"></a><h2>Properties</h2>
98 <div class="informaltable"><table class="informaltable" border="0">
99 <colgroup>
100 <col width="150px" class="properties_type">
101 <col width="300px" class="properties_name">
102 <col width="200px" class="properties_flags">
103 </colgroup>
104 <tbody>
105 <tr>
106 <td class="property_type"><a href="../glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
107 <td class="property_name"><a class="link" href="GBufferedOutputStream.html#GBufferedOutputStream--auto-grow" title="The “auto-grow” property">auto-grow</a></td>
108 <td class="property_flags">Read / Write</td>
109 </tr>
110 <tr>
111 <td class="property_type"><a href="../glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
112 <td class="property_name"><a class="link" href="GBufferedOutputStream.html#GBufferedOutputStream--buffer-size" title="The “buffer-size” property">buffer-size</a></td>
113 <td class="property_flags">Read / Write / Construct</td>
114 </tr>
115 </tbody>
116 </table></div>
117 </div>
118 <div class="refsect1">
119 <a name="GBufferedOutputStream.other"></a><h2>Types and Values</h2>
120 <div class="informaltable"><table class="informaltable" width="100%" border="0">
121 <colgroup>
122 <col width="150px" class="name">
123 <col class="description">
124 </colgroup>
125 <tbody><tr>
126 <td class="datatype_keyword"> </td>
127 <td class="function_name"><a class="link" href="GBufferedOutputStream.html#GBufferedOutputStream-struct" title="GBufferedOutputStream">GBufferedOutputStream</a></td>
128 </tr></tbody>
129 </table></div>
130 </div>
131 <div class="refsect1">
132 <a name="GBufferedOutputStream.object-hierarchy"></a><h2>Object Hierarchy</h2>
133 <pre class="screen">    <a href="../gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
134     <span class="lineart">╰──</span> <a class="link" href="GOutputStream.html" title="GOutputStream">GOutputStream</a>
135         <span class="lineart">╰──</span> <a class="link" href="GFilterOutputStream.html" title="GFilterOutputStream">GFilterOutputStream</a>
136             <span class="lineart">╰──</span> GBufferedOutputStream
137 </pre>
138 </div>
139 <div class="refsect1">
140 <a name="GBufferedOutputStream.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
141 <p>
142 GBufferedOutputStream implements
143  <a class="link" href="GSeekable.html" title="GSeekable">GSeekable</a>.</p>
144 </div>
145 <div class="refsect1">
146 <a name="GBufferedOutputStream.includes"></a><h2>Includes</h2>
147 <pre class="synopsis">#include &lt;gio/gio.h&gt;
148 </pre>
149 </div>
150 <div class="refsect1">
151 <a name="GBufferedOutputStream.description"></a><h2>Description</h2>
152 <p>Buffered output stream implements <a class="link" href="GFilterOutputStream.html" title="GFilterOutputStream"><span class="type">GFilterOutputStream</span></a> and provides 
153 for buffered writes. </p>
154 <p>By default, <a class="link" href="GBufferedOutputStream.html" title="GBufferedOutputStream"><span class="type">GBufferedOutputStream</span></a>'s buffer size is set at 4 kilobytes.</p>
155 <p>To create a buffered output stream, use <a class="link" href="GBufferedOutputStream.html#g-buffered-output-stream-new" title="g_buffered_output_stream_new ()"><code class="function">g_buffered_output_stream_new()</code></a>, 
156 or <a class="link" href="GBufferedOutputStream.html#g-buffered-output-stream-new-sized" title="g_buffered_output_stream_new_sized ()"><code class="function">g_buffered_output_stream_new_sized()</code></a> to specify the buffer's size 
157 at construction.</p>
158 <p>To get the size of a buffer within a buffered input stream, use 
159 <a class="link" href="GBufferedOutputStream.html#g-buffered-output-stream-get-buffer-size" title="g_buffered_output_stream_get_buffer_size ()"><code class="function">g_buffered_output_stream_get_buffer_size()</code></a>. To change the size of a 
160 buffered output stream's buffer, use 
161 <a class="link" href="GBufferedOutputStream.html#g-buffered-output-stream-set-buffer-size" title="g_buffered_output_stream_set_buffer_size ()"><code class="function">g_buffered_output_stream_set_buffer_size()</code></a>. Note that the buffer's 
162 size cannot be reduced below the size of the data within the buffer.</p>
163 </div>
164 <div class="refsect1">
165 <a name="GBufferedOutputStream.functions_details"></a><h2>Functions</h2>
166 <div class="refsect2">
167 <a name="g-buffered-output-stream-new"></a><h3>g_buffered_output_stream_new ()</h3>
168 <pre class="programlisting"><a class="link" href="GOutputStream.html" title="GOutputStream"><span class="returnvalue">GOutputStream</span></a> *
169 g_buffered_output_stream_new (<em class="parameter"><code><a class="link" href="GOutputStream.html" title="GOutputStream"><span class="type">GOutputStream</span></a> *base_stream</code></em>);</pre>
170 <p>Creates a new buffered output stream for a base stream.</p>
171 <div class="refsect3">
172 <a name="g-buffered-output-stream-new.parameters"></a><h4>Parameters</h4>
173 <div class="informaltable"><table class="informaltable" width="100%" border="0">
174 <colgroup>
175 <col width="150px" class="parameters_name">
176 <col class="parameters_description">
177 <col width="200px" class="parameters_annotations">
178 </colgroup>
179 <tbody><tr>
180 <td class="parameter_name"><p>base_stream</p></td>
181 <td class="parameter_description"><p>a <a class="link" href="GOutputStream.html" title="GOutputStream"><span class="type">GOutputStream</span></a>.</p></td>
182 <td class="parameter_annotations"> </td>
183 </tr></tbody>
184 </table></div>
185 </div>
186 <div class="refsect3">
187 <a name="g-buffered-output-stream-new.returns"></a><h4>Returns</h4>
188 <p> a <a class="link" href="GOutputStream.html" title="GOutputStream"><span class="type">GOutputStream</span></a> for the given <em class="parameter"><code>base_stream</code></em>
189 .</p>
190 </div>
191 </div>
192 <hr>
193 <div class="refsect2">
194 <a name="g-buffered-output-stream-new-sized"></a><h3>g_buffered_output_stream_new_sized ()</h3>
195 <pre class="programlisting"><a class="link" href="GOutputStream.html" title="GOutputStream"><span class="returnvalue">GOutputStream</span></a> *
196 g_buffered_output_stream_new_sized (<em class="parameter"><code><a class="link" href="GOutputStream.html" title="GOutputStream"><span class="type">GOutputStream</span></a> *base_stream</code></em>,
197                                     <em class="parameter"><code><a href="../glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
198 <p>Creates a new buffered output stream with a given buffer size.</p>
199 <div class="refsect3">
200 <a name="g-buffered-output-stream-new-sized.parameters"></a><h4>Parameters</h4>
201 <div class="informaltable"><table class="informaltable" width="100%" border="0">
202 <colgroup>
203 <col width="150px" class="parameters_name">
204 <col class="parameters_description">
205 <col width="200px" class="parameters_annotations">
206 </colgroup>
207 <tbody>
208 <tr>
209 <td class="parameter_name"><p>base_stream</p></td>
210 <td class="parameter_description"><p>a <a class="link" href="GOutputStream.html" title="GOutputStream"><span class="type">GOutputStream</span></a>.</p></td>
211 <td class="parameter_annotations"> </td>
212 </tr>
213 <tr>
214 <td class="parameter_name"><p>size</p></td>
215 <td class="parameter_description"><p>a <a href="../glib-Basic-Types.html#gsize"><span class="type">gsize</span></a>.</p></td>
216 <td class="parameter_annotations"> </td>
217 </tr>
218 </tbody>
219 </table></div>
220 </div>
221 <div class="refsect3">
222 <a name="g-buffered-output-stream-new-sized.returns"></a><h4>Returns</h4>
223 <p> a <a class="link" href="GOutputStream.html" title="GOutputStream"><span class="type">GOutputStream</span></a> with an internal buffer set to <em class="parameter"><code>size</code></em>
224 .</p>
225 </div>
226 </div>
227 <hr>
228 <div class="refsect2">
229 <a name="g-buffered-output-stream-get-buffer-size"></a><h3>g_buffered_output_stream_get_buffer_size ()</h3>
230 <pre class="programlisting"><a href="../glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
231 g_buffered_output_stream_get_buffer_size
232                                (<em class="parameter"><code><a class="link" href="GBufferedOutputStream.html" title="GBufferedOutputStream"><span class="type">GBufferedOutputStream</span></a> *stream</code></em>);</pre>
233 <p>Gets the size of the buffer in the <em class="parameter"><code>stream</code></em>
234 .</p>
235 <div class="refsect3">
236 <a name="g-buffered-output-stream-get-buffer-size.parameters"></a><h4>Parameters</h4>
237 <div class="informaltable"><table class="informaltable" width="100%" border="0">
238 <colgroup>
239 <col width="150px" class="parameters_name">
240 <col class="parameters_description">
241 <col width="200px" class="parameters_annotations">
242 </colgroup>
243 <tbody><tr>
244 <td class="parameter_name"><p>stream</p></td>
245 <td class="parameter_description"><p>a <a class="link" href="GBufferedOutputStream.html" title="GBufferedOutputStream"><span class="type">GBufferedOutputStream</span></a>.</p></td>
246 <td class="parameter_annotations"> </td>
247 </tr></tbody>
248 </table></div>
249 </div>
250 <div class="refsect3">
251 <a name="g-buffered-output-stream-get-buffer-size.returns"></a><h4>Returns</h4>
252 <p> the current size of the buffer.</p>
253 </div>
254 </div>
255 <hr>
256 <div class="refsect2">
257 <a name="g-buffered-output-stream-set-buffer-size"></a><h3>g_buffered_output_stream_set_buffer_size ()</h3>
258 <pre class="programlisting"><span class="returnvalue">void</span>
259 g_buffered_output_stream_set_buffer_size
260                                (<em class="parameter"><code><a class="link" href="GBufferedOutputStream.html" title="GBufferedOutputStream"><span class="type">GBufferedOutputStream</span></a> *stream</code></em>,
261                                 <em class="parameter"><code><a href="../glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
262 <p>Sets the size of the internal buffer to <em class="parameter"><code>size</code></em>
263 .</p>
264 <div class="refsect3">
265 <a name="g-buffered-output-stream-set-buffer-size.parameters"></a><h4>Parameters</h4>
266 <div class="informaltable"><table class="informaltable" width="100%" border="0">
267 <colgroup>
268 <col width="150px" class="parameters_name">
269 <col class="parameters_description">
270 <col width="200px" class="parameters_annotations">
271 </colgroup>
272 <tbody>
273 <tr>
274 <td class="parameter_name"><p>stream</p></td>
275 <td class="parameter_description"><p>a <a class="link" href="GBufferedOutputStream.html" title="GBufferedOutputStream"><span class="type">GBufferedOutputStream</span></a>.</p></td>
276 <td class="parameter_annotations"> </td>
277 </tr>
278 <tr>
279 <td class="parameter_name"><p>size</p></td>
280 <td class="parameter_description"><p>a <a href="../glib-Basic-Types.html#gsize"><span class="type">gsize</span></a>.</p></td>
281 <td class="parameter_annotations"> </td>
282 </tr>
283 </tbody>
284 </table></div>
285 </div>
286 </div>
287 <hr>
288 <div class="refsect2">
289 <a name="g-buffered-output-stream-get-auto-grow"></a><h3>g_buffered_output_stream_get_auto_grow ()</h3>
290 <pre class="programlisting"><a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
291 g_buffered_output_stream_get_auto_grow
292                                (<em class="parameter"><code><a class="link" href="GBufferedOutputStream.html" title="GBufferedOutputStream"><span class="type">GBufferedOutputStream</span></a> *stream</code></em>);</pre>
293 <p>Checks if the buffer automatically grows as data is added.</p>
294 <div class="refsect3">
295 <a name="g-buffered-output-stream-get-auto-grow.parameters"></a><h4>Parameters</h4>
296 <div class="informaltable"><table class="informaltable" width="100%" border="0">
297 <colgroup>
298 <col width="150px" class="parameters_name">
299 <col class="parameters_description">
300 <col width="200px" class="parameters_annotations">
301 </colgroup>
302 <tbody><tr>
303 <td class="parameter_name"><p>stream</p></td>
304 <td class="parameter_description"><p>a <a class="link" href="GBufferedOutputStream.html" title="GBufferedOutputStream"><span class="type">GBufferedOutputStream</span></a>.</p></td>
305 <td class="parameter_annotations"> </td>
306 </tr></tbody>
307 </table></div>
308 </div>
309 <div class="refsect3">
310 <a name="g-buffered-output-stream-get-auto-grow.returns"></a><h4>Returns</h4>
311 <p> <a href="../glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>stream</code></em>
312 's buffer automatically grows,
313 <a href="../glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
314 </div>
315 </div>
316 <hr>
317 <div class="refsect2">
318 <a name="g-buffered-output-stream-set-auto-grow"></a><h3>g_buffered_output_stream_set_auto_grow ()</h3>
319 <pre class="programlisting"><span class="returnvalue">void</span>
320 g_buffered_output_stream_set_auto_grow
321                                (<em class="parameter"><code><a class="link" href="GBufferedOutputStream.html" title="GBufferedOutputStream"><span class="type">GBufferedOutputStream</span></a> *stream</code></em>,
322                                 <em class="parameter"><code><a href="../glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> auto_grow</code></em>);</pre>
323 <p>Sets whether or not the <em class="parameter"><code>stream</code></em>
324 's buffer should automatically grow.
325 If <em class="parameter"><code>auto_grow</code></em>
326  is true, then each write will just make the buffer
327 larger, and you must manually flush the buffer to actually write out
328 the data to the underlying stream.</p>
329 <div class="refsect3">
330 <a name="g-buffered-output-stream-set-auto-grow.parameters"></a><h4>Parameters</h4>
331 <div class="informaltable"><table class="informaltable" width="100%" border="0">
332 <colgroup>
333 <col width="150px" class="parameters_name">
334 <col class="parameters_description">
335 <col width="200px" class="parameters_annotations">
336 </colgroup>
337 <tbody>
338 <tr>
339 <td class="parameter_name"><p>stream</p></td>
340 <td class="parameter_description"><p>a <a class="link" href="GBufferedOutputStream.html" title="GBufferedOutputStream"><span class="type">GBufferedOutputStream</span></a>.</p></td>
341 <td class="parameter_annotations"> </td>
342 </tr>
343 <tr>
344 <td class="parameter_name"><p>auto_grow</p></td>
345 <td class="parameter_description"><p>a <a href="../glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>.</p></td>
346 <td class="parameter_annotations"> </td>
347 </tr>
348 </tbody>
349 </table></div>
350 </div>
351 </div>
352 </div>
353 <div class="refsect1">
354 <a name="GBufferedOutputStream.other_details"></a><h2>Types and Values</h2>
355 <div class="refsect2">
356 <a name="GBufferedOutputStream-struct"></a><h3>GBufferedOutputStream</h3>
357 <pre class="programlisting">typedef struct _GBufferedOutputStream GBufferedOutputStream;</pre>
358 <p>An implementation of <a class="link" href="GFilterOutputStream.html" title="GFilterOutputStream"><span class="type">GFilterOutputStream</span></a> with a sized buffer.</p>
359 </div>
360 </div>
361 <div class="refsect1">
362 <a name="GBufferedOutputStream.property-details"></a><h2>Property Details</h2>
363 <div class="refsect2">
364 <a name="GBufferedOutputStream--auto-grow"></a><h3>The <code class="literal">“auto-grow”</code> property</h3>
365 <pre class="programlisting">  “auto-grow”                <a href="../glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
366 <p>Whether the buffer should automatically grow.</p>
367 <p>Flags: Read / Write</p>
368 <p>Default value: FALSE</p>
369 </div>
370 <hr>
371 <div class="refsect2">
372 <a name="GBufferedOutputStream--buffer-size"></a><h3>The <code class="literal">“buffer-size”</code> property</h3>
373 <pre class="programlisting">  “buffer-size”              <a href="../glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
374 <p>The size of the backend buffer.</p>
375 <p>Flags: Read / Write / Construct</p>
376 <p>Allowed values: &gt;= 1</p>
377 <p>Default value: 4096</p>
378 </div>
379 </div>
380 <div class="refsect1">
381 <a name="GBufferedOutputStream.see-also"></a><h2>See Also</h2>
382 <p><a class="link" href="GFilterOutputStream.html" title="GFilterOutputStream"><span class="type">GFilterOutputStream</span></a>, <a class="link" href="GOutputStream.html" title="GOutputStream"><span class="type">GOutputStream</span></a></p>
383 </div>
384 </div>
385 <div class="footer">
386 <hr>Generated by GTK-Doc V1.25.1</div>
387 </body>
388 </html>