1
<refentry id="camel-CamelMimeFilterBestenc">
3
<refentrytitle role="top_of_page" id="camel-CamelMimeFilterBestenc.top_of_page">CamelMimeFilterBestenc</refentrytitle>
4
<manvolnum>3</manvolnum>
5
<refmiscinfo>CAMEL Library</refmiscinfo>
9
<refname>CamelMimeFilterBestenc</refname>
10
<refpurpose></refpurpose>
13
<refsynopsisdiv id="camel-CamelMimeFilterBestenc.synopsis" role="synopsis">
14
<title role="synopsis.title">Synopsis</title>
17
enum <link linkend="CamelBestencRequired">CamelBestencRequired</link>;
18
enum <link linkend="CamelBestencEncoding">CamelBestencEncoding</link>;
19
struct <link linkend="CamelMimeFilterBestenc">CamelMimeFilterBestenc</link>;
20
<link linkend="CamelMimeFilterBestenc">CamelMimeFilterBestenc</link> * <link linkend="camel-mime-filter-bestenc-new">camel_mime_filter_bestenc_new</link> (<link linkend="guint">guint</link> flags);
21
<link linkend="CamelTransferEncoding">CamelTransferEncoding</link> <link linkend="camel-mime-filter-bestenc-get-best-encoding">camel_mime_filter_bestenc_get_best_encoding</link>
22
(<link linkend="CamelMimeFilterBestenc">CamelMimeFilterBestenc</link> *filter,
23
<link linkend="CamelBestencEncoding">CamelBestencEncoding</link> required);
24
const <link linkend="gchar">gchar</link> * <link linkend="camel-mime-filter-bestenc-get-best-charset">camel_mime_filter_bestenc_get_best_charset</link>
25
(<link linkend="CamelMimeFilterBestenc">CamelMimeFilterBestenc</link> *filter);
26
<link linkend="void">void</link> <link linkend="camel-mime-filter-bestenc-set-flags">camel_mime_filter_bestenc_set_flags</link> (<link linkend="CamelMimeFilterBestenc">CamelMimeFilterBestenc</link> *filter,
27
<link linkend="guint">guint</link> flags);
39
<refsect1 id="camel-CamelMimeFilterBestenc.description" role="desc">
40
<title role="desc.title">Description</title>
45
<refsect1 id="camel-CamelMimeFilterBestenc.details" role="details">
46
<title role="details.title">Details</title>
47
<refsect2 id="CamelBestencRequired" role="enum">
48
<title>enum CamelBestencRequired</title>
49
<indexterm zone="CamelBestencRequired"><primary sortas="CamelBestencRequired">CamelBestencRequired</primary></indexterm><programlisting>typedef enum _CamelBestencRequired {
50
CAMEL_BESTENC_GET_ENCODING = 1<<0,
51
CAMEL_BESTENC_GET_CHARSET = 1<<1,
53
/* do we treat 'lf' as if it were crlf? */
54
CAMEL_BESTENC_LF_IS_CRLF = 1<<8,
55
/* do we not allow "From " to appear at the start of a line in any part? */
56
CAMEL_BESTENC_NO_FROM = 1<<9
57
} CamelBestencRequired;
61
<refsect2 id="CamelBestencEncoding" role="enum">
62
<title>enum CamelBestencEncoding</title>
63
<indexterm zone="CamelBestencEncoding"><primary sortas="CamelBestencEncoding">CamelBestencEncoding</primary></indexterm><programlisting>typedef enum _CamelBestencEncoding {
68
/* is the content stream to be treated as text? */
69
CAMEL_BESTENC_TEXT = 1<<8
70
} CamelBestencEncoding;
74
<refsect2 id="CamelMimeFilterBestenc" role="struct">
75
<title>struct CamelMimeFilterBestenc</title>
76
<indexterm zone="CamelMimeFilterBestenc"><primary sortas="CamelMimeFilterBestenc">CamelMimeFilterBestenc</primary></indexterm><programlisting>struct CamelMimeFilterBestenc {
77
CamelMimeFilter parent;
79
guint flags; /* our creation flags, see above */
81
guint count0; /* count of NUL characters */
82
guint count8; /* count of 8 bit characters */
83
guint total; /* total characters read */
85
guint lastc; /* the last character read */
86
gint crlfnoorder; /* if crlf's occured where they shouldn't have */
88
gint startofline; /* are we at the start of a new line? */
91
gchar fromsave[6]; /* save a few characters if we found an \n near the end of the buffer */
92
gint hadfrom; /* did we encounter a "\nFrom " in the data? */
94
guint countline; /* current count of characters on a given line */
95
guint maxline; /* max length of any line */
97
CamelCharset charset; /* used to determine the best charset to use */
102
<refsect2 id="camel-mime-filter-bestenc-new" role="function">
103
<title>camel_mime_filter_bestenc_new ()</title>
104
<indexterm zone="camel-mime-filter-bestenc-new"><primary sortas="camel_mime_filter_bestenc_new">camel_mime_filter_bestenc_new</primary></indexterm><programlisting><link linkend="CamelMimeFilterBestenc">CamelMimeFilterBestenc</link> * camel_mime_filter_bestenc_new (<link linkend="guint">guint</link> flags);</programlisting>
106
Create a new <link linkend="CamelMimeFilterBestenc"><type>CamelMimeFilterBestenc</type></link> object.</para>
108
</para><variablelist role="params">
109
<varlistentry><term><parameter>flags</parameter> :</term>
110
<listitem><simpara> a bitmask of data required.
111
</simpara></listitem></varlistentry>
112
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new <link linkend="CamelMimeFilterBestenc"><type>CamelMimeFilterBestenc</type></link> object
113
</simpara></listitem></varlistentry>
114
</variablelist></refsect2>
115
<refsect2 id="camel-mime-filter-bestenc-get-best-encoding" role="function">
116
<title>camel_mime_filter_bestenc_get_best_encoding ()</title>
117
<indexterm zone="camel-mime-filter-bestenc-get-best-encoding"><primary sortas="camel_mime_filter_bestenc_get_best_encoding">camel_mime_filter_bestenc_get_best_encoding</primary></indexterm><programlisting><link linkend="CamelTransferEncoding">CamelTransferEncoding</link> camel_mime_filter_bestenc_get_best_encoding
118
(<link linkend="CamelMimeFilterBestenc">CamelMimeFilterBestenc</link> *filter,
119
<link linkend="CamelBestencEncoding">CamelBestencEncoding</link> required);</programlisting>
121
Get the best encoding, given specific constraints, that can be used to
122
encode a stream of bytes.</para>
124
</para><variablelist role="params">
125
<varlistentry><term><parameter>filter</parameter> :</term>
126
<listitem><simpara> a <link linkend="CamelMimeFilterBestenc"><type>CamelMimeFilterBestenc</type></link> object
127
</simpara></listitem></varlistentry>
128
<varlistentry><term><parameter>required</parameter> :</term>
129
<listitem><simpara> maximum level of output encoding allowed.
130
</simpara></listitem></varlistentry>
131
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the best encoding to use
132
</simpara></listitem></varlistentry>
133
</variablelist></refsect2>
134
<refsect2 id="camel-mime-filter-bestenc-get-best-charset" role="function">
135
<title>camel_mime_filter_bestenc_get_best_charset ()</title>
136
<indexterm zone="camel-mime-filter-bestenc-get-best-charset"><primary sortas="camel_mime_filter_bestenc_get_best_charset">camel_mime_filter_bestenc_get_best_charset</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link> * camel_mime_filter_bestenc_get_best_charset
137
(<link linkend="CamelMimeFilterBestenc">CamelMimeFilterBestenc</link> *filter);</programlisting>
139
Gets the best charset that can be used to contain this content.</para>
141
</para><variablelist role="params">
142
<varlistentry><term><parameter>filter</parameter> :</term>
143
<listitem><simpara> a <link linkend="CamelMimeFilterBestenc"><type>CamelMimeFilterBestenc</type></link> object
144
</simpara></listitem></varlistentry>
145
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the name of the best charset to use to encode the input
146
text filtered by <parameter>filter</parameter>
147
</simpara></listitem></varlistentry>
148
</variablelist></refsect2>
149
<refsect2 id="camel-mime-filter-bestenc-set-flags" role="function">
150
<title>camel_mime_filter_bestenc_set_flags ()</title>
151
<indexterm zone="camel-mime-filter-bestenc-set-flags"><primary sortas="camel_mime_filter_bestenc_set_flags">camel_mime_filter_bestenc_set_flags</primary></indexterm><programlisting><link linkend="void">void</link> camel_mime_filter_bestenc_set_flags (<link linkend="CamelMimeFilterBestenc">CamelMimeFilterBestenc</link> *filter,
152
<link linkend="guint">guint</link> flags);</programlisting>
154
Set the flags for subsequent operations.</para>
156
</para><variablelist role="params">
157
<varlistentry><term><parameter>filter</parameter> :</term>
158
<listitem><simpara> a <link linkend="CamelMimeFilterBestenc"><type>CamelMimeFilterBestenc</type></link> object
159
</simpara></listitem></varlistentry>
160
<varlistentry><term><parameter>flags</parameter> :</term>
161
<listitem><simpara> bestenc filter flags
162
</simpara></listitem></varlistentry>
163
</variablelist></refsect2>