| Top |
| GMimeFilter * | g_mime_filter_best_new () |
| const char * | g_mime_filter_best_charset () |
| GMimeContentEncoding | g_mime_filter_best_encoding () |
A GMimeFilter which is meant to determine the best charset and/or transfer encoding suitable for the stream which is filtered through it.
GMimeFilter *
g_mime_filter_best_new (GMimeFilterBestFlags flags);
Creates a new GMimeFilterBest filter. flags
are used to determine
which information to keep statistics of. If the
GMIME_FILTER_BEST_CHARSET bit is set, the filter will be able to
compute the best charset for encoding the stream of data
filtered. If the GMIME_FILTER_BEST_ENCODING bit is set, the filter
will be able to compute the best Content-Transfer-Encoding for use
with the stream being filtered.
Note: In order for the g_mime_filter_best_charset() function to
work, the stream being filtered MUST already be encoded in UTF-8.
const char *
g_mime_filter_best_charset (GMimeFilterBest *best);
Calculates the best charset for encoding the stream filtered
through the best
filter.
GMimeContentEncoding g_mime_filter_best_encoding (GMimeFilterBest *best,GMimeEncodingConstraint constraint);
Calculates the most efficient Content-Transfer-Encoding for the
stream filtered through best
that fits within the encoding
constraint
.
struct GMimeFilterBest {
GMimeFilter parent_object;
GMimeFilterBestFlags flags;
/* for best charset detection */
GMimeCharset charset;
/* for best encoding detection */
unsigned int count0; /* count of null bytes */
unsigned int count8; /* count of 8bit bytes */
unsigned int total; /* total octets */
unsigned int maxline; /* longest line length */
unsigned int linelen; /* current line length */
unsigned char frombuf[6];
unsigned int fromlen : 4;
unsigned int hadfrom : 1;
unsigned int startline : 1;
unsigned int midline : 1;
};
A filter for calculating the best encoding and/or charset to encode the data passed through it.
GMimeFilter |
parent GMimeFilter |
|
GMimeFilterBestFlags |
||
GMimeCharset |
GMimeCharset state |
|
count of nul-bytes passed through the filter |
||
count of 8bit bytes passed through the filter |
||
total number of bytes passed through the filter |
||
the length of the longest line passed through the filter |
||
current line length |
||
buffer for checking From_ lines |
||
length of bytes in |
||
|
||
start line state |
||
mid-line state |