4
4
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5
5
<title>CamelStreamMem</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
6
<meta name="generator" content="DocBook XSL Stylesheets V1.73.1">
7
7
<link rel="start" href="index.html" title="Camel Reference Manual">
8
8
<link rel="up" href="Streams.html" title="Streams">
9
9
<link rel="prev" href="camel-CamelStreamFs.html" title="CamelStreamFs">
10
10
<link rel="next" href="camel-CamelStreamNull.html" title="CamelStreamNull">
11
<meta name="generator" content="GTK-Doc V1.9 (XML mode)">
11
<meta name="generator" content="GTK-Doc V1.10 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
<link rel="part" href="classes.html" title="Part I. Camel Classes">
14
14
<link rel="chapter" href="ClassTree.html" title="Class hierarchy">
31
31
<th width="100%" align="center">Camel Reference Manual</th>
32
32
<td><a accesskey="n" href="camel-CamelStreamNull.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
34
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2586106" class="shortcut">Top</a>
34
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2614616" class="shortcut">Top</a>
36
<a href="#id2586289" class="shortcut">Description</a></nobr></td></tr>
36
<a href="#id2614800" class="shortcut">Description</a></nobr></td></tr>
38
38
<div class="refentry" lang="en">
39
39
<a name="camel-CamelStreamMem"></a><div class="titlepage"></div>
40
40
<div class="refnamediv"><table width="100%"><tr>
43
<a name="id2586106"></a><span class="refentrytitle">CamelStreamMem</span>
43
<a name="id2614616"></a><span class="refentrytitle">CamelStreamMem</span>
45
45
<p>CamelStreamMem</p>
55
struct <a href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a>;
56
<a href="camel-CamelStream.html#CamelStream">CamelStream</a>* <a href="camel-CamelStreamMem.html#camel-stream-mem-new">camel_stream_mem_new</a> (void);
57
<a href="camel-CamelStream.html#CamelStream">CamelStream</a>* <a href="camel-CamelStreamMem.html#camel-stream-mem-new-with-byte-array">camel_stream_mem_new_with_byte_array</a>
59
href="/opt/gnome/share/gtk-doc/html/glib/glib-Byte-Arrays.html#GByteArray"
60
>GByteArray</a> *buffer);
61
<a href="camel-CamelStream.html#CamelStream">CamelStream</a>* <a href="camel-CamelStreamMem.html#camel-stream-mem-new-with-buffer">camel_stream_mem_new_with_buffer</a> (const char *buffer,
55
struct <a class="link" href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a>;
56
<a class="link" href="camel-CamelStream.html#CamelStream">CamelStream</a>* <a class="link" href="camel-CamelStreamMem.html#camel-stream-mem-new">camel_stream_mem_new</a> (void);
57
<a class="link" href="camel-CamelStream.html#CamelStream">CamelStream</a>* <a class="link" href="camel-CamelStreamMem.html#camel-stream-mem-new-with-byte-array">camel_stream_mem_new_with_byte_array</a>
59
<a class="link" href="camel-CamelStream.html#CamelStream">CamelStream</a>* <a class="link" href="camel-CamelStreamMem.html#camel-stream-mem-new-with-buffer">camel_stream_mem_new_with_buffer</a> (const char *buffer,
63
void <a href="camel-CamelStreamMem.html#camel-stream-mem-set-secure">camel_stream_mem_set_secure</a> (<a href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a> *mem);
64
void <a href="camel-CamelStreamMem.html#camel-stream-mem-set-byte-array">camel_stream_mem_set_byte_array</a> (<a href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a> *mem,
66
href="/opt/gnome/share/gtk-doc/html/glib/glib-Byte-Arrays.html#GByteArray"
67
>GByteArray</a> *buffer);
68
void <a href="camel-CamelStreamMem.html#camel-stream-mem-set-buffer">camel_stream_mem_set_buffer</a> (<a href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a> *mem,
61
void <a class="link" href="camel-CamelStreamMem.html#camel-stream-mem-set-secure">camel_stream_mem_set_secure</a> (<a class="link" href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a> *mem);
62
void <a class="link" href="camel-CamelStreamMem.html#camel-stream-mem-set-byte-array">camel_stream_mem_set_byte_array</a> (<a class="link" href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a> *mem,
64
void <a class="link" href="camel-CamelStreamMem.html#camel-stream-mem-set-buffer">camel_stream_mem_set_buffer</a> (<a class="link" href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a> *mem,
69
65
const char *buffer,
75
71
<div class="refsect1" lang="en">
76
<a name="id2586289"></a><h2>Description</h2>
72
<a name="id2614800"></a><h2>Description</h2>
81
77
<div class="refsect1" lang="en">
82
<a name="id2586304"></a><h2>Details</h2>
78
<a name="id2614814"></a><h2>Details</h2>
83
79
<div class="refsect2" lang="en">
84
<a name="id2586314"></a><h3>
80
<a name="id2614824"></a><h3>
85
81
<a name="CamelStreamMem"></a>struct CamelStreamMem</h3>
86
<a class="indexterm" name="id2586327"></a><pre class="programlisting">struct CamelStreamMem {
82
<a class="indexterm" name="id2614838"></a><pre class="programlisting">struct CamelStreamMem {
87
83
CamelSeekableStream parent_object;
89
85
unsigned int owner:1; /* do we own the buffer? */
99
95
<div class="refsect2" lang="en">
100
<a name="id2586345"></a><h3>
96
<a name="id2614856"></a><h3>
101
97
<a name="camel-stream-mem-new"></a>camel_stream_mem_new ()</h3>
102
<a class="indexterm" name="id2586358"></a><pre class="programlisting"><a href="camel-CamelStream.html#CamelStream">CamelStream</a>* camel_stream_mem_new (void);</pre>
98
<a class="indexterm" name="id2614869"></a><pre class="programlisting"><a class="link" href="camel-CamelStream.html#CamelStream">CamelStream</a>* camel_stream_mem_new (void);</pre>
104
Create a new <a href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a> object.</p>
100
Create a new <a class="link" href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a> object.</p>
108
104
<div class="variablelist"><table border="0">
109
105
<col align="left" valign="top">
111
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
112
<td>a new <a href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a>
107
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
108
<td>a new <a class="link" href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a>
118
114
<div class="refsect2" lang="en">
119
<a name="id2586415"></a><h3>
115
<a name="id2614925"></a><h3>
120
116
<a name="camel-stream-mem-new-with-byte-array"></a>camel_stream_mem_new_with_byte_array ()</h3>
121
<a class="indexterm" name="id2586429"></a><pre class="programlisting"><a href="camel-CamelStream.html#CamelStream">CamelStream</a>* camel_stream_mem_new_with_byte_array
123
href="/opt/gnome/share/gtk-doc/html/glib/glib-Byte-Arrays.html#GByteArray"
124
>GByteArray</a> *buffer);</pre>
117
<a class="indexterm" name="id2614939"></a><pre class="programlisting"><a class="link" href="camel-CamelStream.html#CamelStream">CamelStream</a>* camel_stream_mem_new_with_byte_array
118
(GByteArray *buffer);</pre>
126
Create a new <a href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a> using <em class="parameter"><code>buffer</code></em> as the stream data.
120
Create a new <a class="link" href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a> using <em class="parameter"><code>buffer</code></em> as the stream data.
129
Note: The newly created <a href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a> will destroy <em class="parameter"><code>buffer</code></em>
123
Note: The newly created <a class="link" href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a> will destroy <em class="parameter"><code>buffer</code></em>
130
124
when destroyed.</p>
135
129
<col align="left" valign="top">
138
<td><span class="term"><em class="parameter"><code>buffer</code></em> :</span></td>
140
href="/opt/gnome/share/gtk-doc/html/glib/glib-Byte-Arrays.html#GByteArray"
141
><span class="type">GByteArray</span></a> to use as the stream data
132
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
133
<td> a <span class="type">GByteArray</span> to use as the stream data
145
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
146
<td>a new <a href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a>
137
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
138
<td>a new <a class="link" href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a>
153
145
<div class="refsect2" lang="en">
154
<a name="id2586540"></a><h3>
146
<a name="id2615050"></a><h3>
155
147
<a name="camel-stream-mem-new-with-buffer"></a>camel_stream_mem_new_with_buffer ()</h3>
156
<a class="indexterm" name="id2586553"></a><pre class="programlisting"><a href="camel-CamelStream.html#CamelStream">CamelStream</a>* camel_stream_mem_new_with_buffer (const char *buffer,
148
<a class="indexterm" name="id2615064"></a><pre class="programlisting"><a class="link" href="camel-CamelStream.html#CamelStream">CamelStream</a>* camel_stream_mem_new_with_buffer (const char *buffer,
157
149
size_t len);</pre>
159
151
Create a new memory stream using <em class="parameter"><code>buffer</code></em> as the stream data.
162
Note: <em class="parameter"><code>buffer</code></em> will be copied into an internal <a
163
href="/opt/gnome/share/gtk-doc/html/glib/glib-Byte-Arrays.html#GByteArray"
164
><span class="type">GByteArray</span></a> structure
154
Note: <em class="parameter"><code>buffer</code></em> will be copied into an internal <span class="type">GByteArray</span> structure
165
155
for use as the stream backing. This may have resource implications
166
156
you may wish to consider.</p>
171
161
<col align="left" valign="top">
174
<td><span class="term"><em class="parameter"><code>buffer</code></em> :</span></td>
164
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
175
165
<td> a memory buffer to use as the stream data
179
<td><span class="term"><em class="parameter"><code>len</code></em> :</span></td>
169
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
180
170
<td> length of <em class="parameter"><code>buffer</code></em>
184
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
185
<td>a new <a href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a>
174
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
175
<td>a new <a class="link" href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a>
192
182
<div class="refsect2" lang="en">
193
<a name="id2586676"></a><h3>
183
<a name="id2615186"></a><h3>
194
184
<a name="camel-stream-mem-set-secure"></a>camel_stream_mem_set_secure ()</h3>
195
<a class="indexterm" name="id2586690"></a><pre class="programlisting">void camel_stream_mem_set_secure (<a href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a> *mem);</pre>
185
<a class="indexterm" name="id2615200"></a><pre class="programlisting">void camel_stream_mem_set_secure (<a class="link" href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a> *mem);</pre>
197
187
Mark the memory stream as secure. At the very least this means the
198
188
data in the buffer will be cleared when the buffer is finalised.
203
193
<div class="variablelist"><table border="0">
204
194
<col align="left" valign="top">
206
<td><span class="term"><em class="parameter"><code>mem</code></em> :</span></td>
207
<td> a <a href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a> object
196
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
197
<td> a <a class="link" href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a> object
213
203
<div class="refsect2" lang="en">
214
<a name="id2586751"></a><h3>
204
<a name="id2615261"></a><h3>
215
205
<a name="camel-stream-mem-set-byte-array"></a>camel_stream_mem_set_byte_array ()</h3>
216
<a class="indexterm" name="id2586764"></a><pre class="programlisting">void camel_stream_mem_set_byte_array (<a href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a> *mem,
218
href="/opt/gnome/share/gtk-doc/html/glib/glib-Byte-Arrays.html#GByteArray"
219
>GByteArray</a> *buffer);</pre>
206
<a class="indexterm" name="id2615275"></a><pre class="programlisting">void camel_stream_mem_set_byte_array (<a class="link" href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a> *mem,
207
GByteArray *buffer);</pre>
221
Set <em class="parameter"><code>buffer</code></em> to be the backing data to the existing <a href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a>, <em class="parameter"><code>mem</code></em>.
209
Set <em class="parameter"><code>buffer</code></em> to be the backing data to the existing <a class="link" href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a>, <em class="parameter"><code>mem</code></em>.
224
212
Note: <em class="parameter"><code>mem</code></em> will not take ownership of <em class="parameter"><code>buffer</code></em> and so will need to
230
218
<col align="left" valign="top">
233
<td><span class="term"><em class="parameter"><code>mem</code></em> :</span></td>
234
<td> a <a href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a> object
221
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
222
<td> a <a class="link" href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a> object
238
<td><span class="term"><em class="parameter"><code>buffer</code></em> :</span></td>
240
href="/opt/gnome/share/gtk-doc/html/glib/glib-Byte-Arrays.html#GByteArray"
241
><span class="type">GByteArray</span></a>
226
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
227
<td> a <span class="type">GByteArray</span>
248
234
<div class="refsect2" lang="en">
249
<a name="id2586894"></a><h3>
235
<a name="id2615405"></a><h3>
250
236
<a name="camel-stream-mem-set-buffer"></a>camel_stream_mem_set_buffer ()</h3>
251
<a class="indexterm" name="id2586908"></a><pre class="programlisting">void camel_stream_mem_set_buffer (<a href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a> *mem,
237
<a class="indexterm" name="id2615418"></a><pre class="programlisting">void camel_stream_mem_set_buffer (<a class="link" href="camel-CamelStreamMem.html#CamelStreamMem">CamelStreamMem</a> *mem,
252
238
const char *buffer,
253
239
size_t len);</pre>
255
Set <em class="parameter"><code>buffer</code></em> to be the backing data to the existing <a href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a>, <em class="parameter"><code>mem</code></em>.
241
Set <em class="parameter"><code>buffer</code></em> to be the backing data to the existing <a class="link" href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a>, <em class="parameter"><code>mem</code></em>.
258
Note: <em class="parameter"><code>buffer</code></em> will be copied into an internal <a
259
href="/opt/gnome/share/gtk-doc/html/glib/glib-Byte-Arrays.html#GByteArray"
260
><span class="type">GByteArray</span></a> structure
244
Note: <em class="parameter"><code>buffer</code></em> will be copied into an internal <span class="type">GByteArray</span> structure
261
245
and so may have resource implications to consider.</p>
266
250
<col align="left" valign="top">
269
<td><span class="term"><em class="parameter"><code>mem</code></em> :</span></td>
270
<td> a <a href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a> object
253
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
254
<td> a <a class="link" href="camel-CamelStreamMem.html#CamelStreamMem"><span class="type">CamelStreamMem</span></a> object
274
<td><span class="term"><em class="parameter"><code>buffer</code></em> :</span></td>
258
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
275
259
<td> a memory buffer
279
<td><span class="term"><em class="parameter"><code>len</code></em> :</span></td>
263
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
280
264
<td> length of <em class="parameter"><code>buffer</code></em>
287
271
<div class="refsect1" lang="en">
288
<a name="id2587054"></a><div class="refsect2" lang="en"><a name="id2587055"></a></div>
272
<a name="id2615565"></a><div class="refsect2" lang="en"><a name="id2615566"></a></div>
290
<div class="refsect2" lang="en"><a name="id2587056"></a></div>
274
<div class="refsect2" lang="en"><a name="id2615567"></a></div>