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 |