14
14
<refname>GMemoryInputStream</refname>
15
15
<refpurpose>Streaming input operations on memory chunks</refpurpose>
16
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
19
<refsynopsisdiv role="synopsis">
18
<refsynopsisdiv id="GMemoryInputStream.synopsis" role="synopsis">
20
19
<title role="synopsis.title">Synopsis</title>
24
23
#include <gio/gio.h>
27
25
<link linkend="GMemoryInputStream-struct">GMemoryInputStream</link>;
28
<link linkend="GInputStream">GInputStream</link>* <link linkend="g-memory-input-stream-new">g_memory_input_stream_new</link> (void);
29
<link linkend="GInputStream">GInputStream</link>* <link linkend="g-memory-input-stream-new-from-data">g_memory_input_stream_new_from_data</link> (const <link linkend="void">void</link> *data,
26
<link linkend="GInputStream">GInputStream</link> * <link linkend="g-memory-input-stream-new">g_memory_input_stream_new</link> (void);
27
<link linkend="GInputStream">GInputStream</link> * <link linkend="g-memory-input-stream-new-from-data">g_memory_input_stream_new_from_data</link> (const <link linkend="void">void</link> *data,
30
28
<link linkend="gssize">gssize</link> len,
31
29
<link linkend="GDestroyNotify">GDestroyNotify</link> destroy);
32
30
<link linkend="void">void</link> <link linkend="g-memory-input-stream-add-data">g_memory_input_stream_add_data</link> (<link linkend="GMemoryInputStream">GMemoryInputStream</link> *stream,
33
31
const <link linkend="void">void</link> *data,
34
32
<link linkend="gssize">gssize</link> len,
35
33
<link linkend="GDestroyNotify">GDestroyNotify</link> destroy);
41
<refsect1 role="object_hierarchy">
37
<refsect1 id="GMemoryInputStream.object-hierarchy" role="object_hierarchy">
42
38
<title role="object_hierarchy.title">Object Hierarchy</title>
45
40
<link linkend="GObject">GObject</link>
46
41
+----<link linkend="GInputStream">GInputStream</link>
47
42
+----GMemoryInputStream
54
<refsect1 role="impl_interfaces">
48
<refsect1 id="GMemoryInputStream.implemented-interfaces" role="impl_interfaces">
55
49
<title role="impl_interfaces.title">Implemented Interfaces</title>
57
51
GMemoryInputStream implements
58
52
<link linkend="GSeekable">GSeekable</link>.</para>
66
<refsect1 role="desc">
59
<refsect1 id="GMemoryInputStream.description" role="desc">
67
60
<title role="desc.title">Description</title>
69
62
<link linkend="GMemoryInputStream"><type>GMemoryInputStream</type></link> is a class for using arbitrary
70
63
memory chunks as input for GIO streaming input operations.</para>
76
<refsect1 role="details">
68
<refsect1 id="GMemoryInputStream.details" role="details">
77
69
<title role="details.title">Details</title>
79
<title><anchor id="GMemoryInputStream-struct" role="struct"/>GMemoryInputStream</title>
80
<indexterm><primary>GMemoryInputStream</primary></indexterm><programlisting>typedef struct _GMemoryInputStream GMemoryInputStream;</programlisting>
70
<refsect2 id="GMemoryInputStream-struct" role="struct">
71
<title>GMemoryInputStream</title>
72
<indexterm zone="GMemoryInputStream-struct"><primary sortas="GMemoryInputStream">GMemoryInputStream</primary></indexterm><programlisting>typedef struct _GMemoryInputStream GMemoryInputStream;</programlisting>
82
74
Implements <link linkend="GInputStream"><type>GInputStream</type></link> for arbitrary memory chunks.</para>
87
<title><anchor id="g-memory-input-stream-new" role="function"/>g_memory_input_stream_new ()</title>
88
<indexterm><primary>g_memory_input_stream_new</primary></indexterm><programlisting><link linkend="GInputStream">GInputStream</link>* g_memory_input_stream_new (void);</programlisting>
77
<refsect2 id="g-memory-input-stream-new" role="function">
78
<title>g_memory_input_stream_new ()</title>
79
<indexterm zone="g-memory-input-stream-new"><primary sortas="g_memory_input_stream_new">g_memory_input_stream_new</primary></indexterm><programlisting><link linkend="GInputStream">GInputStream</link> * g_memory_input_stream_new (void);</programlisting>
90
81
Creates a new empty <link linkend="GMemoryInputStream"><type>GMemoryInputStream</type></link>.</para>
93
83
</para><variablelist role="params">
94
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new <link linkend="GInputStream"><type>GInputStream</type></link>
84
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new <link linkend="GInputStream"><type>GInputStream</type></link>
95
85
</simpara></listitem></varlistentry>
96
86
</variablelist></refsect2>
98
<title><anchor id="g-memory-input-stream-new-from-data" role="function"/>g_memory_input_stream_new_from_data ()</title>
99
<indexterm><primary>g_memory_input_stream_new_from_data</primary></indexterm><programlisting><link linkend="GInputStream">GInputStream</link>* g_memory_input_stream_new_from_data (const <link linkend="void">void</link> *data,
87
<refsect2 id="g-memory-input-stream-new-from-data" role="function">
88
<title>g_memory_input_stream_new_from_data ()</title>
89
<indexterm zone="g-memory-input-stream-new-from-data"><primary sortas="g_memory_input_stream_new_from_data">g_memory_input_stream_new_from_data</primary></indexterm><programlisting><link linkend="GInputStream">GInputStream</link> * g_memory_input_stream_new_from_data (const <link linkend="void">void</link> *data,
100
90
<link linkend="gssize">gssize</link> len,
101
91
<link linkend="GDestroyNotify">GDestroyNotify</link> destroy);</programlisting>
103
93
Creates a new <link linkend="GMemoryInputStream"><type>GMemoryInputStream</type></link> with data in memory of a given size.</para>
106
95
</para><variablelist role="params">
107
<varlistentry><term><parameter>data</parameter> :</term>
96
<varlistentry><term><parameter>data</parameter> :</term>
108
97
<listitem><simpara> input data
109
98
</simpara></listitem></varlistentry>
110
<varlistentry><term><parameter>len</parameter> :</term>
99
<varlistentry><term><parameter>len</parameter> :</term>
111
100
<listitem><simpara> length of the data, may be -1 if <parameter>data</parameter> is a nul-terminated string
112
101
</simpara></listitem></varlistentry>
113
<varlistentry><term><parameter>destroy</parameter> :</term>
114
<listitem><simpara> function that is called to free <parameter>data</parameter>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
102
<varlistentry><term><parameter>destroy</parameter> :</term>
103
<listitem><simpara> function that is called to free <parameter>data</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
115
104
</simpara></listitem></varlistentry>
116
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> new <link linkend="GInputStream"><type>GInputStream</type></link> read from <parameter>data</parameter> of <parameter>len</parameter> bytes.
105
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> new <link linkend="GInputStream"><type>GInputStream</type></link> read from <parameter>data</parameter> of <parameter>len</parameter> bytes.
117
106
</simpara></listitem></varlistentry>
118
107
</variablelist></refsect2>
120
<title><anchor id="g-memory-input-stream-add-data" role="function"/>g_memory_input_stream_add_data ()</title>
121
<indexterm><primary>g_memory_input_stream_add_data</primary></indexterm><programlisting><link linkend="void">void</link> g_memory_input_stream_add_data (<link linkend="GMemoryInputStream">GMemoryInputStream</link> *stream,
108
<refsect2 id="g-memory-input-stream-add-data" role="function">
109
<title>g_memory_input_stream_add_data ()</title>
110
<indexterm zone="g-memory-input-stream-add-data"><primary sortas="g_memory_input_stream_add_data">g_memory_input_stream_add_data</primary></indexterm><programlisting><link linkend="void">void</link> g_memory_input_stream_add_data (<link linkend="GMemoryInputStream">GMemoryInputStream</link> *stream,
122
111
const <link linkend="void">void</link> *data,
123
112
<link linkend="gssize">gssize</link> len,
124
113
<link linkend="GDestroyNotify">GDestroyNotify</link> destroy);</programlisting>
126
115
Appends <parameter>data</parameter> to data that can be read from the input stream</para>
129
117
</para><variablelist role="params">
130
<varlistentry><term><parameter>stream</parameter> :</term>
118
<varlistentry><term><parameter>stream</parameter> :</term>
131
119
<listitem><simpara> a <link linkend="GMemoryInputStream"><type>GMemoryInputStream</type></link>
132
120
</simpara></listitem></varlistentry>
133
<varlistentry><term><parameter>data</parameter> :</term>
121
<varlistentry><term><parameter>data</parameter> :</term>
134
122
<listitem><simpara> input data
135
123
</simpara></listitem></varlistentry>
136
<varlistentry><term><parameter>len</parameter> :</term>
124
<varlistentry><term><parameter>len</parameter> :</term>
137
125
<listitem><simpara> length of the data, may be -1 if <parameter>data</parameter> is a nul-terminated string
138
126
</simpara></listitem></varlistentry>
139
<varlistentry><term><parameter>destroy</parameter> :</term>
140
<listitem><simpara> function that is called to free <parameter>data</parameter>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
127
<varlistentry><term><parameter>destroy</parameter> :</term>
128
<listitem><simpara> function that is called to free <parameter>data</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
141
129
</simpara></listitem></varlistentry>
142
130
</variablelist></refsect2>