1<?xml version="1.0" standalone="no"?> 2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 3 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> 4 5<refentry id="class-giomemoryoutputstream"> 6 <refnamediv> 7 <refname>gio.MemoryOutputStream</refname> 8 <refpurpose>Streaming output operations on memory chunks</refpurpose> 9 </refnamediv> 10 11 <refsect1> 12 <title>Synopsis</title> 13 14 <classsynopsis language="python"> 15 <ooclass><classname>gio.MemoryOutputStream</classname></ooclass> 16 <ooclass><classname><link linkend="class-giooutputstream">gio.OutputStream</link></classname></ooclass> 17 18 <constructorsynopsis language="python"> 19 <methodname><link linkend="constructor-giomemoryoutputstream">gio.MemoryOutputStream</link></methodname> 20 <methodparam></methodparam> 21 </constructorsynopsis> 22 23 24 <methodsynopsis language="python"> 25 <methodname><link linkend="method-giomemoryoutputstream--get-contents">get_contents</link></methodname> 26 <methodparam></methodparam> 27 </methodsynopsis> 28 <methodsynopsis language="python"> 29 <methodname><link linkend="method-giomemoryoutputstream--get-data-size">get_data_size</link></methodname> 30 <methodparam></methodparam> 31 </methodsynopsis> 32 <methodsynopsis language="python"> 33 <methodname><link linkend="method-giomemoryoutputstream--get-size">get_size</link></methodname> 34 <methodparam></methodparam> 35 </methodsynopsis> 36 37 </classsynopsis> 38 39 </refsect1> 40 41 <refsect1> 42 <title>Ancestry</title> 43 44<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link> 45 +-- <link linkend="class-giooutputstream">gio.OutputStream</link> 46 +-- <link linkend="class-giomemoryoutputstream">gio.MemoryOutputStream</link> 47</synopsis> 48 49 </refsect1> 50 51 <refsect1> 52 <title>Implemented Interfaces</title> 53 <para> 54 <link linkend="class-giomemoryoutputstream"><classname>gio.MemoryOutputStream</classname></link> 55 implements 56 <link linkend="class-gioseekable"><classname>gio.Seekable</classname></link> 57 </para> 58 </refsect1> 59 60 <refsect1> 61 <title>Description</title> 62 63 <para> 64 <link linkend="class-giomemoryoutputstream"><classname>gio.MemoryOutputStream</classname></link> 65 is a class for using arbitrary memory chunks as output for GIO streaming output operations. 66 </para> 67 </refsect1> 68 69 <refsect1 id="constructor-giomemoryoutputstream"> 70 <title>Constructor</title> 71 72 <programlisting><constructorsynopsis language="python"> 73 <methodname>gio.MemoryOutputStream</methodname> 74 <methodparam></methodparam> 75 </constructorsynopsis></programlisting> 76 <variablelist> 77 <varlistentry> 78 <term><emphasis>Returns</emphasis> :</term> 79 <listitem><simpara>a new 80 <link linkend="class-giomemoryoutputstream"><classname>gio.MemoryOutputStream</classname></link>. 81 </simpara></listitem> 82 </varlistentry> 83 </variablelist> 84 85 <para> 86 Creates a new 87 <link linkend="class-giomemoryoutputstream"><classname>gio.MemoryOutputStream</classname></link>. 88 </para> 89 90 </refsect1> 91 92 <refsect1> 93 <title>Methods</title> 94 95 <refsect2 id="method-giomemoryoutputstream--get-contents"> 96 <title>gio.MemoryOutputStream.get_contents</title> 97 98 <programlisting><methodsynopsis language="python"> 99 <methodname>get_contents</methodname> 100 <methodparam></methodparam> 101 </methodsynopsis></programlisting> 102 103 <variablelist> 104 <varlistentry> 105 <term><emphasis>Returns</emphasis> :</term> 106 <listitem><simpara>the stream's data 107 </simpara></listitem> 108 </varlistentry> 109 </variablelist> 110 111 <para> 112 The <methodname>get_contents</methodname>() method gets any loaded data 113 from the ostream. 114 </para> 115 <para> 116 Note that the returned data may become invalid on the next write or truncate 117 operation on the stream. 118 </para> 119 </refsect2> 120 121 <refsect2 id="method-giomemoryoutputstream--get-data-size"> 122 <title>gio.MemoryOutputStream.get_data_size</title> 123 124 <programlisting><methodsynopsis language="python"> 125 <methodname>get_data_size</methodname> 126 <methodparam></methodparam> 127 </methodsynopsis></programlisting> 128 129 <variablelist> 130 <varlistentry> 131 <term><emphasis>Returns</emphasis> :</term> 132 <listitem><simpara>the number of bytes written to the stream 133 </simpara></listitem> 134 </varlistentry> 135 </variablelist> 136 137 <para> 138 The <methodname>get_data_size</methodname>() method returns the number 139 of bytes from the start up to including the last byte written in the 140 stream that has not been truncated away. 141 </para> 142 </refsect2> 143 144 <refsect2 id="method-giomemoryoutputstream--get-size"> 145 <title>gio.MemoryOutputStream.get_size</title> 146 147 <programlisting><methodsynopsis language="python"> 148 <methodname>get_size</methodname> 149 <methodparam></methodparam> 150 </methodsynopsis></programlisting> 151 152 <variablelist> 153 <varlistentry> 154 <term><emphasis>Returns</emphasis> :</term> 155 <listitem><simpara>the number of bytes allocated for the data buffer 156 </simpara></listitem> 157 </varlistentry> 158 </variablelist> 159 160 <para> 161 The <methodname>get_size</methodname>() method gets the size of the 162 currently allocated data area (availible from 163 <methodname><link linkend="method-giomemoryoutputstream--get-contents">gio.MemoryOutputStream.get_contents</link></methodname>() 164 ). 165 </para> 166 <para> 167 Note that for growable streams the returned size may become invalid on the next write or truncate operation on the stream. 168 </para> 169 <para> 170 If you want the number of bytes currently written to the stream, use 171 <methodname><link linkend="method-giomemoryoutputstream--get-data-size">gio.MemoryOutputStream.get_data_size</link></methodname>(). 172 </para> 173 </refsect2> 174 </refsect1> 175</refentry> 176