Ejemplo n.º 1
0
        // Token: 0x0600024C RID: 588 RVA: 0x0000AD74 File Offset: 0x00008F74
        internal static bool TryDecodeValue(MimeStringList lines, uint linesMask, DecodingOptions decodingOptions, out DecodingResults decodingResults, out string value)
        {
            decodingResults = default(DecodingResults);
            if (lines.GetLength(linesMask) == 0)
            {
                value = string.Empty;
                return(true);
            }
            DecodingFlags decodingFlags          = decodingOptions.DecodingFlags;
            bool          flag                   = DecodingFlags.None != (DecodingFlags.FallbackToRaw & decodingFlags);
            bool          allowControlCharacters = DecodingFlags.None != (DecodingFlags.AllowControlCharacters & decodingFlags);
            bool          enable                 = false;
            bool          enableJisDetection     = false;
            bool          enableUtf8Detection    = false;
            bool          enableDbcsDetection    = false;
            Charset       defaultCharset         = null;
            ValueDecoder  valueDecoder           = new ValueDecoder(lines, linesMask);

            if ((decodingFlags & DecodingFlags.AllEncodings) == DecodingFlags.None)
            {
                if (!flag)
                {
                    defaultCharset = Charset.ASCII;
                }
            }
            else
            {
                enable              = (DecodingFlags.None != (DecodingFlags.Rfc2047 & decodingFlags));
                enableJisDetection  = (DecodingFlags.None != (DecodingFlags.Jis & decodingFlags));
                enableUtf8Detection = (DecodingFlags.None != (DecodingFlags.Utf8 & decodingFlags));
                enableDbcsDetection = (DecodingFlags.None != (DecodingFlags.Dbcs & decodingFlags));
                defaultCharset      = decodingOptions.Charset;
            }
            string         charsetName;
            string         cultureName;
            EncodingScheme encodingScheme;
            bool           flag2 = valueDecoder.TryDecodeValue(defaultCharset, flag, allowControlCharacters, enable, enableJisDetection, enableUtf8Detection, enableDbcsDetection, out charsetName, out cultureName, out encodingScheme, out value);

            decodingResults.EncodingScheme = encodingScheme;
            decodingResults.CharsetName    = charsetName;
            decodingResults.CultureName    = cultureName;
            decodingResults.DecodingFailed = !flag2;
            return(flag2);
        }
Ejemplo n.º 2
0
 public DecodingOptions(DecodingFlags decodingFlags, string charsetName)
 {
     this.DecodingFlags = decodingFlags;
     this.Charset = charsetName == null ? null : Globalization.Charset.GetCharset(charsetName);
 }
Ejemplo n.º 3
0
 public DecodingOptions(DecodingFlags decodingFlags, System.Text.Encoding encoding)
 {
     this.DecodingFlags = decodingFlags;
     this.Charset = encoding == null ? null : Globalization.Charset.GetCharset(encoding);
 }
Ejemplo n.º 4
0
 public DecodingOptions(DecodingFlags decodingFlags)
 {
     this = new DecodingOptions(decodingFlags, (string) null);
 }
Ejemplo n.º 5
0
 public static void SetDecodingOptionsDecodingFlags(ref DecodingOptions decodingOptions, DecodingFlags decodingFlags)
 {
     decodingOptions.DecodingFlags = decodingFlags;
 }
Ejemplo n.º 6
0
 public DecodingOptions(DecodingFlags decodingFlags)
 {
     this = new DecodingOptions(decodingFlags, null);
 }
Ejemplo n.º 7
0
 public DecodingOptions(DecodingFlags decodingFlags, string charsetName)
 {
     this.decodingFlags = decodingFlags;
     this.charset       = ((charsetName == null) ? null : Charset.GetCharset(charsetName));
 }
Ejemplo n.º 8
0
 public DecodingOptions(DecodingFlags decodingFlags, Encoding encoding)
 {
     this.decodingFlags = decodingFlags;
     this.charset       = ((encoding == null) ? null : Charset.GetCharset(encoding));
 }