[Csmail-patches] CVS: csmail/src/CSMail AddressException.cs,NONE,1.1 ChangeLog,1.56,1.57 EMailAddres
Status: Pre-Alpha
Brought to you by:
mastergaurav
From: Gaurav V. <mas...@us...> - 2002-10-17 10:34:17
|
Update of /cvsroot/csmail/csmail/src/CSMail In directory usw-pr-cvs1:/tmp/cvs-serv20330 Modified Files: ChangeLog EMailAddress.cs EMailAddressList.cs Provider.cs Added Files: AddressException.cs Log Message: 2002-10-17 * AddressException.cs : Added new exception class. * EMailAddressList.cs : ParseHeaderLine(string) - Renamed to Parse(string). : Parse(string), : Parse(string, bool), : ParseHeader(string, bool), - Implemented. : ParseHeader(string, bool, bool), - Stubbed. * EMailAddress.cs : Validate() - Stubbed. --- NEW FILE --- /** * Namespace: CSMail * Class: AddressException * * Author: Gaurav Vaish * Maintainer: mastergaurav AT users DOT sf DOT net * * (C) Gaurav Vaish (2002) */ using System; namespace CSMail { public class AddressException : Exception { private int position = -1; private string actualString = null; public AddressException() : base() { } public AddressException(string message) : base(message) { } public AddressException(string message, string actualString, int position) : base(message) { this.actualString = actualString; this.position = position; } public AddressException(string message, Exception e) : base(message, e) { } } } Index: ChangeLog =================================================================== RCS file: /cvsroot/csmail/csmail/src/CSMail/ChangeLog,v retrieving revision 1.56 retrieving revision 1.57 diff -u -r1.56 -r1.57 --- ChangeLog 9 Oct 2002 07:09:30 -0000 1.56 +++ ChangeLog 17 Oct 2002 10:34:14 -0000 1.57 @@ -1,4 +1,22 @@ +2002-10-17 Gaurav Vaish <mastergaurav AT users DOT sf DOT net> + + * AddressException.cs : Added new exception class. + * EMailAddressList.cs : ParseHeaderLine(string) + - Renamed to Parse(string). + : Parse(string), + : Parse(string, bool), + : ParseHeader(string, bool), + - Implemented. + : ParseHeader(string, bool, bool), + - Stubbed. + * EMailAddress.cs : Validate() - Stubbed. + +2002-10-16 Gaurav Vaish <mastergaurav AT users DOT sf DOT net> + + * EMailAddressList.cs : ParseHeaderLine(string) + - Stubbed. + 2002-10-09 Gaurav Vaish <mastergaurav AT users DOT sf DOT net> * ContentType.cs : ctor(string) - Implemented. Index: EMailAddress.cs =================================================================== RCS file: /cvsroot/csmail/csmail/src/CSMail/EMailAddress.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- EMailAddress.cs 9 Oct 2002 07:09:30 -0000 1.5 +++ EMailAddress.cs 17 Oct 2002 10:34:14 -0000 1.6 @@ -97,6 +97,12 @@ } } + [MailTODO] + public void Validate() + { + throw new NotImplementedException(); + } + /// <summary> /// Checks for equality with another address. /// </summary> Index: EMailAddressList.cs =================================================================== RCS file: /cvsroot/csmail/csmail/src/CSMail/EMailAddressList.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- EMailAddressList.cs 30 Sep 2002 12:27:22 -0000 1.4 +++ EMailAddressList.cs 17 Oct 2002 10:34:14 -0000 1.5 @@ -70,6 +70,81 @@ throw new NotImplementedException(); } + public static EMailAddress[] Parse(string headerValue) + { + return Parse(headerValue, true); + } + + public static EMailAddress[] Parse(string headerValue, + bool strict) + { + return Parse(headerValue, strict, false); + } + + public static EMailAddress[] ParseHeader(string headerValue, + bool strict) + { + return Parse(headerValue, strict, true); + } + + [MailTODO] + private static EMailAddress[] Parse(string headerValue, + bool strict, bool validate) + { + int i1 = -1; + int j1 = -1; + int len = headerValue.Length; + + bool flag2 = false; + bool flag3 = false; // addressRead + bool startTag = false; // flag4 + + ArrayList addressList = new ArrayList(); + int j = -1; + int i = -1; + int index; + + for(index = 0; index < len; index++) + { + char c = headerValue[index]; + switch(c) + { + case '\t' : break; + case '\n' : break; + case '\r' : break; + case ' ' : break; + + case '(' : startTag = true; + if(i >= 0 && j == -1) + j = index; + if(i1 == -1) + i1 = index + 1; + index++; + int unbalance; + for(unbalance = 1; index < len && + unbalance > 0; index++) + { + switch(headerValue[index]) + { + case '\\' : index++; + break; + case '(' : unbalance++; + break; + case ')' : unbalance--; + break; + default : break; + } + } + + if(unbalance > 0) + throw new AddressException("[EMailAddressList] Missing ')'", + headerValue, index); + throw new NotImplementedException(); + } + } + throw new NotImplementedException(); + } + /// <summary> /// Gets or sets an address at the specified index. /// </summary> Index: Provider.cs =================================================================== RCS file: /cvsroot/csmail/csmail/src/CSMail/Provider.cs,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Provider.cs 9 Oct 2002 07:09:30 -0000 1.8 +++ Provider.cs 17 Oct 2002 10:34:14 -0000 1.9 @@ -157,7 +157,7 @@ { if(obj != null && obj is Provider) { - return (this == (Provider)obj; + return (this == (Provider)obj); } return false; } |