![]() |
![]() |
![]() |
![]() |
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 content filtered
through the best
filter.
the name of the charset most suitable for encoding
the content that has been passed through the filter or NULL
if the filter was not configured to detect this.
GMimeContentEncoding g_mime_filter_best_encoding (GMimeFilterBest *best
,GMimeEncodingConstraint constraint
);
Calculates the most efficient Content-Transfer-Encoding for the
content 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 |
|
unsigned int |
count of nul-bytes passed through the filter |
|
unsigned int |
count of 8bit bytes passed through the filter |
|
unsigned int |
total number of bytes passed through the filter |
|
unsigned int |
the length of the longest line passed through the filter |
|
unsigned int |
current line length |
|
unsigned char |
buffer for checking From_ lines |
|
unsigned int |
length of bytes in |
|
unsigned int |
|
|
unsigned int |
start line state |
|
unsigned int |
mid-line state |