diff options
Diffstat (limited to 'mailnews/mime/public')
-rw-r--r-- | mailnews/mime/public/MimeHeaderParser.h | 5 | ||||
-rw-r--r-- | mailnews/mime/public/nsIMsgHeaderParser.idl | 15 |
2 files changed, 17 insertions, 3 deletions
diff --git a/mailnews/mime/public/MimeHeaderParser.h b/mailnews/mime/public/MimeHeaderParser.h index fe9bf59d3..d8cd3705a 100644 --- a/mailnews/mime/public/MimeHeaderParser.h +++ b/mailnews/mime/public/MimeHeaderParser.h @@ -31,6 +31,11 @@ nsCOMArray<msgIAddressObject> DecodedHeader(const nsAString &aHeader); nsCOMArray<msgIAddressObject> EncodedHeader(const nsACString &aHeader, const char *aCharset = nullptr); +/** + * Same deal, but we're starting with an nsAString. + */ +nsCOMArray<msgIAddressObject> EncodedHeaderW(const nsAString &aHeader); + namespace detail { void DoConversion(const nsTArray<nsString> &aUTF16, nsTArray<nsCString> &aUTF8); }; diff --git a/mailnews/mime/public/nsIMsgHeaderParser.idl b/mailnews/mime/public/nsIMsgHeaderParser.idl index 2512623d8..fd582b64c 100644 --- a/mailnews/mime/public/nsIMsgHeaderParser.idl +++ b/mailnews/mime/public/nsIMsgHeaderParser.idl @@ -97,6 +97,18 @@ interface nsIMsgHeaderParser : nsISupports { out msgIAddressObject addresses); /** + * Parse an address-based header that has not yet been 2047-decoded and does not + * contain raw octets but instead wide (UTF-16) characters. + * + * @param aEncodedHeader The RFC 2047-encoded header to parse. + * @return An array corresponding to the header description. + */ + void parseEncodedHeaderW(in AString aEncodedHeader, + [optional] out unsigned long length, + [retval, array, size_is(length)] + out msgIAddressObject addresses); + +/** * Parse an address-based header that has been 2047-decoded. * * The result of this method is an array of objects described in the above @@ -178,9 +190,6 @@ interface nsIMsgHeaderParser : nsISupports { * "Bond, James <agent007@mi5.invalid>" would produce one address object, * while the string "webmaster@nowhere.invalid, child@nowhere.invalid" would * produce two address objects. - * - * Note that the input string is RFC 2231 and RFC 2047 decoded but no UTF-8 - * decoding takes place. */ void makeFromDisplayAddress(in AString aDisplayAddresses, [optional] out unsigned long count, |