Exemple #1
0
 public bool TryGetDisplayName(DecodingOptions decodingOptions, out DecodingResults decodingResults, out string displayName)
 {
     this.AssertGood(true);
     return reader.TryReadDisplayName(topLevel, decodingOptions, out decodingResults, out displayName);
 }
Exemple #2
0
 public bool TryGetDisplayName(DecodingOptions decodingOptions, out DecodingResults decodingResults, out string displayName)
 {
     if (displayNameFragments.Count == 0) {
         displayName = decodedDisplayName;
         decodingResults = new DecodingResults();
         return true;
     }
     if (decodingOptions.Charset == null)
         decodingOptions.Charset = this.GetDefaultHeaderDecodingCharset(null, null);
     return MimeCommon.TryDecodeValue(displayNameFragments, 4026531839U, decodingOptions, out decodingResults, out displayName);
 }
Exemple #3
0
 public bool TryGetValue(DecodingOptions decodingOptions, out DecodingResults decodingResults, out string value)
 {
     value = this.GetDecodedValue(decodingOptions, out decodingResults);
     if (!decodingResults.DecodingFailed)
         return true;
     value = null;
     return false;
 }
Exemple #4
0
 internal string GetDecodedValue(DecodingOptions decodingOptions, out DecodingResults decodingResults)
 {
     string str1 = null;
     if (this.Lines.Length == 0) {
         var str2 = decodedValue != null ? decodedValue : string.Empty;
         decodingResults = new DecodingResults();
         return str2;
     }
     if (decodingOptions.Charset == null)
         decodingOptions.Charset = this.GetDefaultHeaderDecodingCharset(null, null);
     if (!MimeCommon.TryDecodeValue(this.Lines, 4026531840U, decodingOptions, out decodingResults, out str1))
         str1 = null;
     return str1;
 }
Exemple #5
0
 internal static bool TryDecodeValue(MimeStringList lines, uint linesMask, DecodingOptions decodingOptions, out DecodingResults decodingResults, out string value)
 {
     decodingResults = new DecodingResults();
     if (lines.GetLength(linesMask) == 0) {
         value = string.Empty;
         return true;
     }
     var decodingFlags = decodingOptions.DecodingFlags;
     var enableFallback = DecodingFlags.None != (DecodingFlags.FallbackToRaw & decodingFlags);
     var allowControlCharacters = DecodingFlags.None != (DecodingFlags.AllowControlCharacters & decodingFlags);
     var enable2047 = false;
     var enableJisDetection = false;
     var enableUtf8Detection = false;
     var enableDbcsDetection = false;
     Globalization.Charset defaultCharset = null;
     var valueDecoder = new ValueDecoder(lines, linesMask);
     if ((decodingFlags & DecodingFlags.AllEncodings) == DecodingFlags.None) {
         if (!enableFallback)
             defaultCharset = Globalization.Charset.ASCII;
     } else {
         enable2047 = 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;
     var flag = valueDecoder.TryDecodeValue(
         defaultCharset,
         enableFallback,
         allowControlCharacters,
         enable2047,
         enableJisDetection,
         enableUtf8Detection,
         enableDbcsDetection,
         out charsetName,
         out cultureName,
         out encodingScheme,
         out value);
     decodingResults.EncodingScheme = encodingScheme;
     decodingResults.CharsetName = charsetName;
     decodingResults.CultureName = cultureName;
     decodingResults.DecodingFailed = !flag;
     return flag;
 }
Exemple #6
0
 internal static void ThrowDecodingFailedException(ref DecodingResults decodingResults)
 {
     Globalization.Charset.GetEncoding(decodingResults.CharsetName);
     throw new ButlerSchemaException("internal value decoding error");
 }