[System] Removal of the NET_2_0 in the source code
[mono.git] / mcs / class / System / System.Net.Mail / AlternateView.cs
index dce6729d75ae1b8bcd869d895256bc8d84ececa0..2a84e67de361acc803f459bb1f975057bce62f72 100644 (file)
@@ -28,8 +28,6 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if NET_2_0
-
 using System.IO;
 using System.Net.Mime;
 using System.Text;
@@ -65,20 +63,14 @@ namespace System.Net.Mail {
 
                public AlternateView (Stream contentStream) : base (contentStream)
                {
-                       if (contentStream == null)
-                               throw new ArgumentNullException ();
                }
                
                public AlternateView (Stream contentStream, string mediaType) : base (contentStream, mediaType)
                {
-                       if (contentStream == null)
-                               throw new ArgumentNullException ();
                }
                
                public AlternateView (Stream contentStream, ContentType contentType) : base (contentStream, contentType)
                {
-                       if (contentStream == null)
-                               throw new ArgumentNullException ();
                }
 
                #endregion // Constructors
@@ -103,23 +95,35 @@ namespace System.Net.Mail {
                        if (content == null)
                                throw new ArgumentNullException ();
                        MemoryStream ms = new MemoryStream (Encoding.UTF8.GetBytes (content));
-                       return new AlternateView (ms);
+                       AlternateView av = new AlternateView (ms);
+                       av.TransferEncoding = TransferEncoding.QuotedPrintable;
+                       return av;
                }
 
                public static AlternateView CreateAlternateViewFromString (string content, ContentType contentType)
                {
                        if (content == null)
-                               throw new ArgumentNullException ();
-                       MemoryStream ms = new MemoryStream (Encoding.UTF8.GetBytes (content));
-                       return new AlternateView (ms, contentType);
+                               throw new ArgumentNullException ("content");
+                       Encoding enc = contentType.CharSet != null ? Encoding.GetEncoding (contentType.CharSet) : Encoding.UTF8;
+                       MemoryStream ms = new MemoryStream (enc.GetBytes (content));
+                       AlternateView av = new AlternateView (ms, contentType);
+                       av.TransferEncoding = TransferEncoding.QuotedPrintable;
+                       return av;
                }
 
                public static AlternateView CreateAlternateViewFromString (string content, Encoding encoding, string mediaType)
                {
                        if (content == null)
-                               throw new ArgumentNullException ();
+                               throw new ArgumentNullException ("content");
+                       if (encoding == null)
+                               encoding = Encoding.UTF8;
                        MemoryStream ms = new MemoryStream (encoding.GetBytes (content));
-                       return new AlternateView (ms, mediaType);
+                       ContentType ct = new ContentType ();
+                       ct.MediaType = mediaType;
+                       ct.CharSet = encoding.HeaderName;
+                       AlternateView av = new AlternateView (ms, ct);
+                       av.TransferEncoding = TransferEncoding.QuotedPrintable;
+                       return av;
                }
 
                protected override void Dispose (bool disposing)
@@ -133,5 +137,3 @@ namespace System.Net.Mail {
                #endregion // Methods
        }
 }
-
-#endif // NET_2_0