~ubuntu-branches/ubuntu/maverick/evolution-data-server/maverick-proposed

« back to all changes in this revision

Viewing changes to docs/reference/camel/html/camel-CamelMimeParser.html

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2010-05-17 17:02:06 UTC
  • mfrom: (1.1.79 upstream) (1.6.12 experimental)
  • Revision ID: james.westby@ubuntu.com-20100517170206-4ufr52vwrhh26yh0
Tags: 2.30.1-1ubuntu1
* Merge from debian experimental. Remaining change:
  (LP: #42199, #229669, #173703, #360344, #508494)
  + debian/control:
    - add Vcs-Bzr tag
    - don't use libgnome
    - Use Breaks instead of Conflicts against evolution 2.25 and earlier.
  + debian/evolution-data-server.install,
    debian/patches/45_libcamel_providers_version.patch:
    - use the upstream versioning, not a Debian-specific one 
  + debian/libedata-book1.2-dev.install, debian/libebackend-1.2-dev.install,
    debian/libcamel1.2-dev.install, debian/libedataserverui1.2-dev.install:
    - install html documentation
  + debian/rules:
    - don't build documentation it's shipped with the tarball

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
<head>
4
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
5
<title>CamelMimeParser</title>
6
 
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
 
6
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7
7
<link rel="home" href="index.html" title="Camel Reference Manual">
8
8
<link rel="up" href="MIME.html" title="MIME Objects">
9
9
<link rel="prev" href="camel-CamelMimeMessage.html" title="CamelMimeMessage">
26
26
                  <a href="#camel-CamelMimeParser.description" class="shortcut">Description</a>
27
27
</td></tr>
28
28
</table>
29
 
<div class="refentry" lang="en">
 
29
<div class="refentry" title="CamelMimeParser">
30
30
<a name="camel-CamelMimeParser"></a><div class="titlepage"></div>
31
31
<div class="refnamediv"><table width="100%"><tr>
32
32
<td valign="top">
35
35
</td>
36
36
<td valign="top" align="right"></td>
37
37
</tr></table></div>
38
 
<div class="refsynopsisdiv">
 
38
<div class="refsynopsisdiv" title="Synopsis">
39
39
<a name="camel-CamelMimeParser.synopsis"></a><h2>Synopsis</h2>
40
40
<pre class="synopsis">struct              <a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser">CamelMimeParser</a>;
41
41
enum                <a class="link" href="camel-CamelMimeParser.html#camel-mime-parser-state-t" title="enum camel_mime_parser_state_t">camel_mime_parser_state_t</a>;
89
89
                                                        (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>);
90
90
</pre>
91
91
</div>
92
 
<div class="refsect1" lang="en">
 
92
<div class="refsect1" title="Description">
93
93
<a name="camel-CamelMimeParser.description"></a><h2>Description</h2>
94
94
<p>
95
95
</p>
96
96
</div>
97
 
<div class="refsect1" lang="en">
 
97
<div class="refsect1" title="Details">
98
98
<a name="camel-CamelMimeParser.details"></a><h2>Details</h2>
99
 
<div class="refsect2" lang="en">
 
99
<div class="refsect2" title="struct CamelMimeParser">
100
100
<a name="CamelMimeParser"></a><h3>struct CamelMimeParser</h3>
101
101
<pre class="programlisting">struct CamelMimeParser {
102
102
        CamelObject parent;
108
108
</p>
109
109
</div>
110
110
<hr>
111
 
<div class="refsect2" lang="en">
 
111
<div class="refsect2" title="enum camel_mime_parser_state_t">
112
112
<a name="camel-mime-parser-state-t"></a><h3>enum camel_mime_parser_state_t</h3>
113
113
<pre class="programlisting">typedef enum _camel_mime_parser_state_t {
114
114
        CAMEL_MIME_PARSER_STATE_INITIAL,
136
136
</p>
137
137
</div>
138
138
<hr>
139
 
<div class="refsect2" lang="en">
 
139
<div class="refsect2" title="camel_mime_parser_new ()">
140
140
<a name="camel-mime-parser-new"></a><h3>camel_mime_parser_new ()</h3>
141
141
<pre class="programlisting"><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="returnvalue">CamelMimeParser</span></a> *   camel_mime_parser_new               (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
142
142
<p>
143
 
Create a new CamelMimeParser object.</p>
 
143
Create a new CamelMimeParser object.
 
144
</p>
144
145
<div class="variablelist"><table border="0">
145
146
<col align="left" valign="top">
146
147
<tbody><tr>
151
152
</table></div>
152
153
</div>
153
154
<hr>
154
 
<div class="refsect2" lang="en">
 
155
<div class="refsect2" title="camel_mime_parser_errno ()">
155
156
<a name="camel-mime-parser-errno"></a><h3>camel_mime_parser_errno ()</h3>
156
157
<pre class="programlisting"><span class="returnvalue">gint</span>                camel_mime_parser_errno             (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>);</pre>
157
158
<p>
173
174
</table></div>
174
175
</div>
175
176
<hr>
176
 
<div class="refsect2" lang="en">
 
177
<div class="refsect2" title="camel_mime_parser_init_with_fd ()">
177
178
<a name="camel-mime-parser-init-with-fd"></a><h3>camel_mime_parser_init_with_fd ()</h3>
178
179
<pre class="programlisting"><span class="returnvalue">gint</span>                camel_mime_parser_init_with_fd      (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *m</code></em>,
179
180
                                                         <em class="parameter"><code><span class="type">gint</span> fd</code></em>);</pre>
181
182
Initialise the scanner with an fd.  The scanner's offsets
182
183
will be relative to the current file position of the file
183
184
descriptor.  As a result, seekable descritors should
184
 
be seeked using the parser seek functions.</p>
 
185
be seeked using the parser seek functions.
 
186
</p>
185
187
<div class="variablelist"><table border="0">
186
188
<col align="left" valign="top">
187
189
<tbody>
199
201
</table></div>
200
202
</div>
201
203
<hr>
202
 
<div class="refsect2" lang="en">
 
204
<div class="refsect2" title="camel_mime_parser_init_with_stream ()">
203
205
<a name="camel-mime-parser-init-with-stream"></a><h3>camel_mime_parser_init_with_stream ()</h3>
204
206
<pre class="programlisting"><span class="returnvalue">gint</span>                camel_mime_parser_init_with_stream  (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *m</code></em>,
205
207
                                                         <em class="parameter"><code><a class="link" href="camel-CamelStream.html#CamelStream" title="struct CamelStream"><span class="type">CamelStream</span></a> *stream</code></em>);</pre>
207
209
Initialise the scanner with a source stream.  The scanner's
208
210
offsets will be relative to the current file position of
209
211
the stream.  As a result, seekable streams should only
210
 
be seeked using the parser seek function.</p>
 
212
be seeked using the parser seek function.
 
213
</p>
211
214
<div class="variablelist"><table border="0">
212
215
<col align="left" valign="top">
213
216
<tbody><tr>
218
221
</table></div>
219
222
</div>
220
223
<hr>
221
 
<div class="refsect2" lang="en">
 
224
<div class="refsect2" title="camel_mime_parser_stream ()">
222
225
<a name="camel-mime-parser-stream"></a><h3>camel_mime_parser_stream ()</h3>
223
226
<pre class="programlisting"><a class="link" href="camel-CamelStream.html#CamelStream" title="struct CamelStream"><span class="returnvalue">CamelStream</span></a> *       camel_mime_parser_stream            (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>);</pre>
224
227
<p>
225
228
Get the stream, if any, the parser has been initialised
226
229
with.  May be used to setup sub-streams, but should not
227
230
be read from directly (without saving and restoring
228
 
the seek position in between).</p>
 
231
the seek position in between).
 
232
</p>
229
233
<div class="variablelist"><table border="0">
230
234
<col align="left" valign="top">
231
235
<tbody>
245
249
</table></div>
246
250
</div>
247
251
<hr>
248
 
<div class="refsect2" lang="en">
 
252
<div class="refsect2" title="camel_mime_parser_fd ()">
249
253
<a name="camel-mime-parser-fd"></a><h3>camel_mime_parser_fd ()</h3>
250
254
<pre class="programlisting"><span class="returnvalue">gint</span>                camel_mime_parser_fd                (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>);</pre>
251
255
<p>
255
259
<p>
256
260
Should not be read from unless the parser it to terminate,
257
261
or the seek offset can be reset before the next parse
258
 
step.</p>
 
262
step.
 
263
</p>
259
264
<div class="variablelist"><table border="0">
260
265
<col align="left" valign="top">
261
266
<tbody>
274
279
</table></div>
275
280
</div>
276
281
<hr>
277
 
<div class="refsect2" lang="en">
 
282
<div class="refsect2" title="camel_mime_parser_scan_from ()">
278
283
<a name="camel-mime-parser-scan-from"></a><h3>camel_mime_parser_scan_from ()</h3>
279
284
<pre class="programlisting"><span class="returnvalue">void</span>                camel_mime_parser_scan_from         (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>,
280
285
                                                         <em class="parameter"><code><span class="type">gboolean</span> scan_from</code></em>);</pre>
290
295
This may also be preceeded by an optional
291
296
CAMEL_MIME_PARSER_STATE_PRE_FROM state which contains the scanned data
292
297
found before the From line is encountered.  See also
293
 
<code class="function">scan_pre_from()</code>.</p>
 
298
<code class="function">scan_pre_from()</code>.
 
299
</p>
294
300
<div class="variablelist"><table border="0">
295
301
<col align="left" valign="top">
296
302
<tbody>
309
315
</table></div>
310
316
</div>
311
317
<hr>
312
 
<div class="refsect2" lang="en">
 
318
<div class="refsect2" title="camel_mime_parser_scan_pre_from ()">
313
319
<a name="camel-mime-parser-scan-pre-from"></a><h3>camel_mime_parser_scan_pre_from ()</h3>
314
320
<pre class="programlisting"><span class="returnvalue">void</span>                camel_mime_parser_scan_pre_from     (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>,
315
321
                                                         <em class="parameter"><code><span class="type">gboolean</span> scan_pre_from</code></em>);</pre>
316
322
<p>
317
323
Tell the scanner whether we want to know abou the pre-from
318
324
data during a scan.  If we do, then we may get an additional
319
 
state CAMEL_MIME_PARSER_STATE_PRE_FROM which returns the specified data.</p>
 
325
state CAMEL_MIME_PARSER_STATE_PRE_FROM which returns the specified data.
 
326
</p>
320
327
<div class="variablelist"><table border="0">
321
328
<col align="left" valign="top">
322
329
<tbody>
335
342
</table></div>
336
343
</div>
337
344
<hr>
338
 
<div class="refsect2" lang="en">
 
345
<div class="refsect2" title="camel_mime_parser_set_header_regex ()">
339
346
<a name="camel-mime-parser-set-header-regex"></a><h3>camel_mime_parser_set_header_regex ()</h3>
340
347
<pre class="programlisting"><span class="returnvalue">gint</span>                camel_mime_parser_set_header_regex  (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>,
341
348
                                                         <em class="parameter"><code><span class="type">gchar</span> *matchstr</code></em>);</pre>
363
370
</table></div>
364
371
</div>
365
372
<hr>
366
 
<div class="refsect2" lang="en">
 
373
<div class="refsect2" title="camel_mime_parser_step ()">
367
374
<a name="camel-mime-parser-step"></a><h3>camel_mime_parser_step ()</h3>
368
375
<pre class="programlisting"><a class="link" href="camel-CamelMimeParser.html#camel-mime-parser-state-t" title="enum camel_mime_parser_state_t"><span class="returnvalue">camel_mime_parser_state_t</span></a>  camel_mime_parser_step       (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>,
369
376
                                                         <em class="parameter"><code><span class="type">gchar</span> **databuffer</code></em>,
382
389
<p>
383
390
Refer to the state diagram elsewhere for a full listing of
384
391
the states an application is gauranteed to get from the
385
 
scanner.</p>
 
392
scanner.
 
393
</p>
386
394
<div class="variablelist"><table border="0">
387
395
<col align="left" valign="top">
388
396
<tbody>
414
422
</table></div>
415
423
</div>
416
424
<hr>
417
 
<div class="refsect2" lang="en">
 
425
<div class="refsect2" title="camel_mime_parser_unstep ()">
418
426
<a name="camel-mime-parser-unstep"></a><h3>camel_mime_parser_unstep ()</h3>
419
427
<pre class="programlisting"><span class="returnvalue">void</span>                camel_mime_parser_unstep            (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>);</pre>
420
428
<p>
424
432
</p>
425
433
<p>
426
434
Note that it is not possible to scan back using this function,
427
 
only to have a way of peeking the next state.</p>
 
435
only to have a way of peeking the next state.
 
436
</p>
428
437
<div class="variablelist"><table border="0">
429
438
<col align="left" valign="top">
430
439
<tbody><tr>
435
444
</table></div>
436
445
</div>
437
446
<hr>
438
 
<div class="refsect2" lang="en">
 
447
<div class="refsect2" title="camel_mime_parser_drop_step ()">
439
448
<a name="camel-mime-parser-drop-step"></a><h3>camel_mime_parser_drop_step ()</h3>
440
449
<pre class="programlisting"><span class="returnvalue">void</span>                camel_mime_parser_drop_step         (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>);</pre>
441
450
<p>
445
454
state of the parser.
446
455
</p>
447
456
<p>
448
 
Use this call with care.</p>
 
457
Use this call with care.
 
458
</p>
449
459
<div class="variablelist"><table border="0">
450
460
<col align="left" valign="top">
451
461
<tbody><tr>
456
466
</table></div>
457
467
</div>
458
468
<hr>
459
 
<div class="refsect2" lang="en">
 
469
<div class="refsect2" title="camel_mime_parser_state ()">
460
470
<a name="camel-mime-parser-state"></a><h3>camel_mime_parser_state ()</h3>
461
471
<pre class="programlisting"><a class="link" href="camel-CamelMimeParser.html#camel-mime-parser-state-t" title="enum camel_mime_parser_state_t"><span class="returnvalue">camel_mime_parser_state_t</span></a>  camel_mime_parser_state      (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>);</pre>
462
472
<p>
463
 
Get the current parser state.</p>
 
473
Get the current parser state.
 
474
</p>
464
475
<div class="variablelist"><table border="0">
465
476
<col align="left" valign="top">
466
477
<tbody>
478
489
</table></div>
479
490
</div>
480
491
<hr>
481
 
<div class="refsect2" lang="en">
 
492
<div class="refsect2" title="camel_mime_parser_push_state ()">
482
493
<a name="camel-mime-parser-push-state"></a><h3>camel_mime_parser_push_state ()</h3>
483
494
<pre class="programlisting"><span class="returnvalue">void</span>                camel_mime_parser_push_state        (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *mp</code></em>,
484
495
                                                         <em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#camel-mime-parser-state-t" title="enum camel_mime_parser_state_t"><span class="type">camel_mime_parser_state_t</span></a> newstate</code></em>,
485
496
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *boundary</code></em>);</pre>
486
497
<p>
487
498
Pre-load a new parser state.  Used to post-parse multipart content
488
 
without headers.</p>
 
499
without headers.
 
500
</p>
489
501
<div class="variablelist"><table border="0">
490
502
<col align="left" valign="top">
491
503
<tbody>
508
520
</table></div>
509
521
</div>
510
522
<hr>
511
 
<div class="refsect2" lang="en">
 
523
<div class="refsect2" title="camel_mime_parser_read ()">
512
524
<a name="camel-mime-parser-read"></a><h3>camel_mime_parser_read ()</h3>
513
525
<pre class="programlisting"><span class="returnvalue">gint</span>                camel_mime_parser_read              (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>,
514
526
                                                         <em class="parameter"><code>const <span class="type">gchar</span> **databuffer</code></em>,
527
539
<p>
528
540
Note that no parsing of the data read through this function
529
541
occurs, so no state changes occur, but the seek position
530
 
is updated appropriately.</p>
 
542
is updated appropriately.
 
543
</p>
531
544
<div class="variablelist"><table border="0">
532
545
<col align="left" valign="top">
533
546
<tbody>
545
558
</table></div>
546
559
</div>
547
560
<hr>
548
 
<div class="refsect2" lang="en">
 
561
<div class="refsect2" title="camel_mime_parser_content_type ()">
549
562
<a name="camel-mime-parser-content-type"></a><h3>camel_mime_parser_content_type ()</h3>
550
563
<pre class="programlisting"><a class="link" href="camel-camel-mime-utils.html#CamelContentType" title="CamelContentType"><span class="returnvalue">CamelContentType</span></a> *  camel_mime_parser_content_type      (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>);</pre>
551
564
<p>
552
 
Get the content type defined in the current part.</p>
 
565
Get the content type defined in the current part.
 
566
</p>
553
567
<div class="variablelist"><table border="0">
554
568
<col align="left" valign="top">
555
569
<tbody>
569
583
</table></div>
570
584
</div>
571
585
<hr>
572
 
<div class="refsect2" lang="en">
 
586
<div class="refsect2" title="camel_mime_parser_header ()">
573
587
<a name="camel-mime-parser-header"></a><h3>camel_mime_parser_header ()</h3>
574
588
<pre class="programlisting">const <span class="returnvalue">gchar</span> *       camel_mime_parser_header            (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *m</code></em>,
575
589
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
576
590
                                                         <em class="parameter"><code><span class="type">gint</span> *offset</code></em>);</pre>
577
591
<p>
578
 
Lookup a header by name.</p>
 
592
Lookup a header by name.
 
593
</p>
579
594
<div class="variablelist"><table border="0">
580
595
<col align="left" valign="top">
581
596
<tbody>
600
615
</table></div>
601
616
</div>
602
617
<hr>
603
 
<div class="refsect2" lang="en">
 
618
<div class="refsect2" title="camel_mime_parser_headers_raw ()">
604
619
<a name="camel-mime-parser-headers-raw"></a><h3>camel_mime_parser_headers_raw ()</h3>
605
620
<pre class="programlisting">struct <a class="link" href="camel-camel-mime-utils.html#camel-header-raw" title="struct camel_header_raw"><span class="returnvalue">_camel_header_raw</span></a> * camel_mime_parser_headers_raw
606
621
                                                        (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *m</code></em>);</pre>
607
622
<p>
608
623
Get the list of the raw headers which are defined for the
609
624
current state of the parser.  These headers are valid
610
 
until the next call to <code class="function">parser_step()</code>, or <code class="function">parser_drop_step()</code>.</p>
 
625
until the next call to <code class="function">parser_step()</code>, or <code class="function">parser_drop_step()</code>.
 
626
</p>
611
627
<div class="variablelist"><table border="0">
612
628
<col align="left" valign="top">
613
629
<tbody><tr>
614
630
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
615
631
<td> The raw headers, or NULL if there are no headers
616
632
defined for the current part or state.  These are READ ONLY.
 
633
 
617
634
</td>
618
635
</tr></tbody>
619
636
</table></div>
 
637
<p class="since">Since 2.22</p>
620
638
</div>
621
639
<hr>
622
 
<div class="refsect2" lang="en">
 
640
<div class="refsect2" title="camel_mime_parser_preface ()">
623
641
<a name="camel-mime-parser-preface"></a><h3>camel_mime_parser_preface ()</h3>
624
642
<pre class="programlisting">const <span class="returnvalue">gchar</span> *       camel_mime_parser_preface           (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *m</code></em>);</pre>
625
643
<p>
626
644
Retrieve the preface text for the current multipart.
627
 
Can only be used when the state is CAMEL_MIME_PARSER_STATE_MULTIPART_END.</p>
 
645
Can only be used when the state is CAMEL_MIME_PARSER_STATE_MULTIPART_END.
 
646
</p>
628
647
<div class="variablelist"><table border="0">
629
648
<col align="left" valign="top">
630
649
<tbody><tr>
631
650
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
632
651
<td> The preface text, or NULL if there wasn't any.
 
652
 
633
653
</td>
634
654
</tr></tbody>
635
655
</table></div>
 
656
<p class="since">Since 2.22</p>
636
657
</div>
637
658
<hr>
638
 
<div class="refsect2" lang="en">
 
659
<div class="refsect2" title="camel_mime_parser_postface ()">
639
660
<a name="camel-mime-parser-postface"></a><h3>camel_mime_parser_postface ()</h3>
640
661
<pre class="programlisting">const <span class="returnvalue">gchar</span> *       camel_mime_parser_postface          (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *m</code></em>);</pre>
641
662
<p>
642
663
Retrieve the postface text for the current multipart.
643
664
Only returns valid data when the current state if
644
 
CAMEL_MIME_PARSER_STATE_MULTIPART_END.</p>
 
665
CAMEL_MIME_PARSER_STATE_MULTIPART_END.
 
666
</p>
645
667
<div class="variablelist"><table border="0">
646
668
<col align="left" valign="top">
647
669
<tbody><tr>
648
670
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
649
671
<td> The postface text, or NULL if there wasn't any.
 
672
 
650
673
</td>
651
674
</tr></tbody>
652
675
</table></div>
 
676
<p class="since">Since 2.22</p>
653
677
</div>
654
678
<hr>
655
 
<div class="refsect2" lang="en">
 
679
<div class="refsect2" title="camel_mime_parser_from_line ()">
656
680
<a name="camel-mime-parser-from-line"></a><h3>camel_mime_parser_from_line ()</h3>
657
681
<pre class="programlisting">const <span class="returnvalue">gchar</span> *       camel_mime_parser_from_line         (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *m</code></em>);</pre>
658
682
<p>
662
686
</p>
663
687
<p>
664
688
The return value will remain valid while in the CAMEL_MIME_PARSER_STATE_FROM
665
 
state, or any deeper state.</p>
 
689
state, or any deeper state.
 
690
</p>
666
691
<div class="variablelist"><table border="0">
667
692
<col align="left" valign="top">
668
693
<tbody><tr>
669
694
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
670
695
<td> The From line, or NULL if called out of context.
 
696
 
671
697
</td>
672
698
</tr></tbody>
673
699
</table></div>
 
700
<p class="since">Since 2.22</p>
674
701
</div>
675
702
<hr>
676
 
<div class="refsect2" lang="en">
 
703
<div class="refsect2" title="camel_mime_parser_filter_add ()">
677
704
<a name="camel-mime-parser-filter-add"></a><h3>camel_mime_parser_filter_add ()</h3>
678
705
<pre class="programlisting"><span class="returnvalue">gint</span>                camel_mime_parser_filter_add        (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *m</code></em>,
679
706
                                                         <em class="parameter"><code><a class="link" href="camel-CamelMimeFilter.html#CamelMimeFilter" title="struct CamelMimeFilter"><span class="type">CamelMimeFilter</span></a> *mf</code></em>);</pre>
685
712
<p>
686
713
Note that filters are only applied to the body content of messages, and once
687
714
a filter has been set, all content returned by a <code class="function">filter_step()</code> with a state
688
 
of CAMEL_MIME_PARSER_STATE_BODY will have passed through the filter.</p>
 
715
of CAMEL_MIME_PARSER_STATE_BODY will have passed through the filter.
 
716
</p>
689
717
<div class="variablelist"><table border="0">
690
718
<col align="left" valign="top">
691
719
<tbody><tr>
692
720
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
693
721
<td> An id that may be passed to <code class="function">filter_remove()</code> to remove
694
722
the filter, or -1 if the operation failed.
 
723
 
695
724
</td>
696
725
</tr></tbody>
697
726
</table></div>
 
727
<p class="since">Since 2.22</p>
698
728
</div>
699
729
<hr>
700
 
<div class="refsect2" lang="en">
 
730
<div class="refsect2" title="camel_mime_parser_filter_remove ()">
701
731
<a name="camel-mime-parser-filter-remove"></a><h3>camel_mime_parser_filter_remove ()</h3>
702
732
<pre class="programlisting"><span class="returnvalue">void</span>                camel_mime_parser_filter_remove     (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *m</code></em>,
703
733
                                                         <em class="parameter"><code><span class="type">gint</span> id</code></em>);</pre>
704
734
<p>
705
735
Remove a processing filter from the pipeline.  There is no
706
 
restriction on the order the filters can be removed.</p>
 
736
restriction on the order the filters can be removed.
 
737
</p>
 
738
<p class="since">Since 2.22</p>
707
739
</div>
708
740
<hr>
709
 
<div class="refsect2" lang="en">
 
741
<div class="refsect2" title="camel_mime_parser_tell ()">
710
742
<a name="camel-mime-parser-tell"></a><h3>camel_mime_parser_tell ()</h3>
711
743
<pre class="programlisting"><span class="returnvalue">off_t</span>               camel_mime_parser_tell              (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>);</pre>
712
744
<p>
724
756
of the current data block.
725
757
CAMEL_MIME_PARSER_STATE_*_END, The position of the character starting
726
758
the next section of the scan (the last position + 1 of
727
 
the respective current state).</p>
 
759
the respective current state).
 
760
</p>
728
761
<div class="variablelist"><table border="0">
729
762
<col align="left" valign="top">
730
763
<tbody>
736
769
<tr>
737
770
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
738
771
<td> See above.
 
772
 
739
773
</td>
740
774
</tr>
741
775
</tbody>
742
776
</table></div>
 
777
<p class="since">Since 2.22</p>
743
778
</div>
744
779
<hr>
745
 
<div class="refsect2" lang="en">
 
780
<div class="refsect2" title="camel_mime_parser_seek ()">
746
781
<a name="camel-mime-parser-seek"></a><h3>camel_mime_parser_seek ()</h3>
747
782
<pre class="programlisting"><span class="returnvalue">off_t</span>               camel_mime_parser_seek              (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>,
748
783
                                                         <em class="parameter"><code><span class="type">off_t</span> offset</code></em>,
754
789
Note that if the source stream/descriptor was not
755
790
positioned at 0 to begin with, and an absolute seek
756
791
is specified (whence != SEEK_CUR), then the seek
757
 
position may not match the desired seek position.</p>
 
792
position may not match the desired seek position.
 
793
</p>
758
794
<div class="variablelist"><table border="0">
759
795
<col align="left" valign="top">
760
796
<tbody>
778
814
<td> The new seek offset, or -1 on
779
815
an error (for example, trying to seek on a non-seekable
780
816
stream or file descriptor).
 
817
 
781
818
</td>
782
819
</tr>
783
820
</tbody>
784
821
</table></div>
 
822
<p class="since">Since 2.22</p>
785
823
</div>
786
824
<hr>
787
 
<div class="refsect2" lang="en">
 
825
<div class="refsect2" title="camel_mime_parser_tell_start_headers ()">
788
826
<a name="camel-mime-parser-tell-start-headers"></a><h3>camel_mime_parser_tell_start_headers ()</h3>
789
827
<pre class="programlisting"><span class="returnvalue">off_t</span>               camel_mime_parser_tell_start_headers
790
828
                                                        (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>);</pre>
791
829
<p>
792
830
Find out the position within the file of where the
793
831
headers started, this is cached by the parser
794
 
at the time.</p>
 
832
at the time.
 
833
</p>
795
834
<div class="variablelist"><table border="0">
796
835
<col align="left" valign="top">
797
836
<tbody>
804
843
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
805
844
<td> The header start position, or -1 if
806
845
no headers were scanned in the current state.
 
846
 
807
847
</td>
808
848
</tr>
809
849
</tbody>
810
850
</table></div>
 
851
<p class="since">Since 2.22</p>
811
852
</div>
812
853
<hr>
813
 
<div class="refsect2" lang="en">
 
854
<div class="refsect2" title="camel_mime_parser_tell_start_from ()">
814
855
<a name="camel-mime-parser-tell-start-from"></a><h3>camel_mime_parser_tell_start_from ()</h3>
815
856
<pre class="programlisting"><span class="returnvalue">off_t</span>               camel_mime_parser_tell_start_from   (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>);</pre>
816
857
<p>
817
858
If the parser is scanning From lines, then this returns
818
 
the position of the start of the From line.</p>
 
859
the position of the start of the From line.
 
860
</p>
819
861
<div class="variablelist"><table border="0">
820
862
<col align="left" valign="top">
821
863
<tbody>
828
870
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
829
871
<td> The start of the from line, or -1 if there
830
872
was no From line, or From lines are not being scanned.
 
873
 
831
874
</td>
832
875
</tr>
833
876
</tbody>
834
877
</table></div>
 
878
<p class="since">Since 2.22</p>
835
879
</div>
836
880
<hr>
837
 
<div class="refsect2" lang="en">
 
881
<div class="refsect2" title="camel_mime_parser_tell_start_boundary ()">
838
882
<a name="camel-mime-parser-tell-start-boundary"></a><h3>camel_mime_parser_tell_start_boundary ()</h3>
839
883
<pre class="programlisting"><span class="returnvalue">off_t</span>               camel_mime_parser_tell_start_boundary
840
884
                                                        (<em class="parameter"><code><a class="link" href="camel-CamelMimeParser.html#CamelMimeParser" title="struct CamelMimeParser"><span class="type">CamelMimeParser</span></a> *parser</code></em>);</pre>
841
885
<p>
842
886
When parsing a multipart, this returns the start of the last
843
 
boundary.</p>
 
887
boundary.
 
888
</p>
844
889
<div class="variablelist"><table border="0">
845
890
<col align="left" valign="top">
846
891
<tbody>
853
898
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
854
899
<td> The start of the boundary, or -1 if there
855
900
was no boundary encountered yet.
 
901
 
856
902
</td>
857
903
</tr>
858
904
</tbody>
859
905
</table></div>
 
906
<p class="since">Since 2.22</p>
860
907
</div>
861
908
</div>
862
909
</div>