[Csmail-patches] CVS: csmail/src/CSMail.Utils ChangeLog,1.24,1.25 MimeUtils.cs,1.5,1.6
Status: Pre-Alpha
                
                Brought to you by:
                
                    mastergaurav
                    
                
            | 
      
      
      From: Gaurav V. <mas...@us...> - 2002-11-07 09:58:07
      
     | 
| Update of /cvsroot/csmail/csmail/src/CSMail.Utils
In directory usw-pr-cvs1:/tmp/cvs-serv18812
Modified Files:
	ChangeLog MimeUtils.cs 
Log Message:
2002-11-07
* MimeUtils.cs            : UpdateHeaders(IMimePart) - Implemented.
Index: ChangeLog
===================================================================
RCS file: /cvsroot/csmail/csmail/src/CSMail.Utils/ChangeLog,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- ChangeLog	31 Oct 2002 10:41:57 -0000	1.24
+++ ChangeLog	7 Nov 2002 09:58:04 -0000	1.25
@@ -1,4 +1,8 @@
 
+2002-11-07    Gaurav Vaish <mastergaurav AT users DOT sf DOT net>
+
+	* MimeUtils.cs            : UpdateHeaders(IMimePart) - Implemented.
+
 2002-10-31    Gaurav Vaish <mastergaurav AT users DOT sf DOT net>
 
 	* MimeUtils.cs            : Get/Set-ContentLanguage  - Implemented.
Index: MimeUtils.cs
===================================================================
RCS file: /cvsroot/csmail/csmail/src/CSMail.Utils/MimeUtils.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- MimeUtils.cs	31 Oct 2002 10:41:58 -0000	1.5
+++ MimeUtils.cs	7 Nov 2002 09:58:04 -0000	1.6
@@ -223,5 +223,55 @@
 			}
 			return TransferEncoding.Default;
 		}
+
+		public static string GetDefaultCharset()
+		{
+			Properties props = Properties.GetDefaultProperties();
+			string retVal = String.Empty;
+			if(props["mail.mime.charset"] != null)
+				retVal = (string)props["mail.mime.charset"];
+			else
+				throw new NotImplementedException("[GetDefaultCharset]" +
+				           " Don't know how to get from the VM");
+			return retVal;
+		}
+		
+		public static void UpdateHeaders(IMimePart mimePart)
+		{
+			ContentType ct = mimePart.ContentType;
+			bool isMatched = false;
+			if(ct == "multipart/*")
+			{
+				((MimeMultipart)mimePart.Content).UpdateHeaders();
+				isMatched = true;
+			} else if(ct == "message/rfc822")
+			{
+				isMatched = true;
+			}
+			if(!isMatched && ct == (ContentType)null)
+			{
+				ct = new ContentType("text/plain");
+				string charSet = "";
+				if(mimePart.TransferEncoding == TransferEncoding.Bit7)
+				{
+					charSet = "us-ascii";
+				} else
+				{
+					// To get default MIME Charset
+					throw new NotImplementedException();
+				}
+				ct.Parameters["charset"] = charSet;
+			}
+			if(ct == (ContentType)null)
+			{
+				ContentDisposition cd = mimePart.Disposition;
+				ct = new ContentType("text/plain");
+				if(cd != null && cd.Filename != null && cd.Filename.Length > 0)
+				{
+					ct.Parameters["filename"] = cd.Filename;
+				}
+			}
+			mimePart.ContentType = ct;
+		}
 	}
 }
 |