Ejemplo n.º 1
0
 private static void formatNames(string[] names)
 {
     if (names != null)
     {
         for (int i = 0; i < names.Length; i++)
         {
             string   text  = names[i];
             string[] array = new string[5];
             int      num   = 0;
             int      num2  = 0;
             int      num3;
             while ((num3 = text.IndexOf(';', num)) > 0)
             {
                 array[num2] = text.Substring(num, num3 - num);
                 num2++;
                 num = num3 + 1;
             }
             array[num2] = text.Substring(num);
             StringBuilder stringBuilder = new StringBuilder(100);
             VCardResultParser.maybeAppendComponent(array, 3, stringBuilder);
             VCardResultParser.maybeAppendComponent(array, 1, stringBuilder);
             VCardResultParser.maybeAppendComponent(array, 2, stringBuilder);
             VCardResultParser.maybeAppendComponent(array, 0, stringBuilder);
             VCardResultParser.maybeAppendComponent(array, 4, stringBuilder);
             names[i] = stringBuilder.ToString().Trim();
         }
     }
 }
Ejemplo n.º 2
0
        public static CalendarParsedResult parse(Result result)
        {
            System.String rawText = result.Text;
            if (rawText == null)
            {
                return(null);
            }
            int vEventStart = rawText.IndexOf("BEGIN:VEVENT");

            if (vEventStart < 0)
            {
                return(null);
            }
            int vEventEnd = rawText.IndexOf("END:VEVENT");

            if (vEventEnd < 0)
            {
                return(null);
            }

            System.String summary = VCardResultParser.matchSingleVCardPrefixedField("SUMMARY", rawText, true);
            System.String start   = VCardResultParser.matchSingleVCardPrefixedField("DTSTART", rawText, true);
            System.String end     = VCardResultParser.matchSingleVCardPrefixedField("DTEND", rawText, true);
            try
            {
                return(new CalendarParsedResult(summary, start, end, null, null, null));
            }
            catch (System.ArgumentException iae)
            {
                return(null);
            }
        }
Ejemplo n.º 3
0
 public static ParsedResult parseResult(Result theResult)
 {
     // Simplification of original if - if else logic using Null Coalescing operator ??
     //
     // ?? Simply checks from left to right for a non null object
     // when an object evaluates to null the next object after the ?? is evaluated
     // This continues until a non null value is found or the last object is evaluated
     return
         (BookmarkDoCoMoResultParser.parse(theResult) as ParsedResult ??
          AddressBookDoCoMoResultParser.parse(theResult) as ParsedResult ??
          EmailDoCoMoResultParser.parse(theResult) as ParsedResult ??
          AddressBookAUResultParser.parse(theResult) as ParsedResult ??
          VCardResultParser.parse(theResult) as ParsedResult ??
          BizcardResultParser.parse(theResult) as ParsedResult ??
          VEventResultParser.parse(theResult) as ParsedResult ??
          EmailAddressResultParser.parse(theResult) as ParsedResult ??
          TelResultParser.parse(theResult) as ParsedResult ??
          SMSMMSResultParser.parse(theResult) as ParsedResult ??
          GeoResultParser.parse(theResult) as ParsedResult ??
          URLTOResultParser.parse(theResult) as ParsedResult ??
          URIResultParser.parse(theResult) as ParsedResult ??
          ISBNResultParser.parse(theResult) as ParsedResult ??
          ProductResultParser.parse(theResult) as ParsedResult ??
          new TextParsedResult(theResult.Text, null) as ParsedResult);
 }
Ejemplo n.º 4
0
        public static CalendarParsedResult parse(Result result)
        {
            string text = result.Text;

            if (text == null)
            {
                return(null);
            }
            int num = text.IndexOf("BEGIN:VEVENT");

            if (num < 0)
            {
                return(null);
            }
            int num2 = text.IndexOf("END:VEVENT");

            if (num2 < 0)
            {
                return(null);
            }
            string summary = VCardResultParser.matchSingleVCardPrefixedField("SUMMARY", text, true);
            string start   = VCardResultParser.matchSingleVCardPrefixedField("DTSTART", text, true);
            string end     = VCardResultParser.matchSingleVCardPrefixedField("DTEND", text, true);
            CalendarParsedResult result2;

            try
            {
                result2 = new CalendarParsedResult(summary, start, end, null, null, null);
            }
            catch (ArgumentException)
            {
                result2 = null;
            }
            return(result2);
        }
Ejemplo n.º 5
0
 internal static string matchSingleVCardPrefixedField(string prefix, string rawText, bool trim)
 {
     string[] array = VCardResultParser.matchVCardPrefixedField(prefix, rawText, trim);
     if (array != null)
     {
         return(array[0]);
     }
     return(null);
 }
Ejemplo n.º 6
0
        private static string[] matchVCardPrefixedField(string prefix, string rawText, bool trim)
        {
            IList <IList <string> > values = VCardResultParser.matchVCardPrefixedField(prefix, rawText, trim, false);

            if (values == null || values.Count == 0)
            {
                return(null);
            }
            int size = values.Count;

            string[] result = new string[size];
            for (int i = 0; i < size; i++)
            {
                result[i] = values[i][0];
            }
            return(result);
        }
Ejemplo n.º 7
0
        public static AddressBookParsedResult parse(Result result)
        {
            string text = result.Text;

            if (text == null || !text.StartsWith("BEGIN:VCARD"))
            {
                return(null);
            }
            string[] array = VCardResultParser.matchVCardPrefixedField("FN", text, true);
            if (array == null)
            {
                array = VCardResultParser.matchVCardPrefixedField("N", text, true);
                VCardResultParser.formatNames(array);
            }
            string[] phoneNumbers = VCardResultParser.matchVCardPrefixedField("TEL", text, true);
            string[] emails       = VCardResultParser.matchVCardPrefixedField("EMAIL", text, true);
            string   note         = VCardResultParser.matchSingleVCardPrefixedField("NOTE", text, false);

            string[] array2 = VCardResultParser.matchVCardPrefixedField("ADR", text, true);
            if (array2 != null)
            {
                for (int i = 0; i < array2.Length; i++)
                {
                    array2[i] = VCardResultParser.formatAddress(array2[i]);
                }
            }
            string org   = VCardResultParser.matchSingleVCardPrefixedField("ORG", text, true);
            string text2 = VCardResultParser.matchSingleVCardPrefixedField("BDAY", text, true);

            if (!VCardResultParser.isLikeVCardDate(text2))
            {
                text2 = null;
            }
            string title = VCardResultParser.matchSingleVCardPrefixedField("TITLE", text, true);
            string url   = VCardResultParser.matchSingleVCardPrefixedField("URL", text, true);

            return(new AddressBookParsedResult(array, null, phoneNumbers, emails, note, array2, org, text2, title, url));
        }
Ejemplo n.º 8
0
 private static bool isLikeVCardDate(string value_Renamed)
 {
     return(value_Renamed == null || ResultParser.isStringOfDigits(value_Renamed, 8) || (value_Renamed.Length == 10 && value_Renamed[4] == '-' && value_Renamed[7] == '-' && VCardResultParser.isSubstringOfDigits(value_Renamed, 0, 4) && VCardResultParser.isSubstringOfDigits(value_Renamed, 5, 2) && VCardResultParser.isSubstringOfDigits(value_Renamed, 8, 2)));
 }
Ejemplo n.º 9
0
        public static ParsedResult parseResult(Result theResult)
        {
            ParsedResult result;

            if ((result = BookmarkDoCoMoResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = AddressBookDoCoMoResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = EmailDoCoMoResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = EmailAddressResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = AddressBookAUResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = VCardResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = BizcardResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = VEventResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = TelResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = SMSMMSResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = GeoResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = URLTOResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = URIResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = ISBNResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            if ((result = ProductResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            return(new TextParsedResult(theResult.Text, null));
        }
Ejemplo n.º 10
0
        public static ParsedResult parseResult(Result theResult)
        {
            // This is a bit messy, but given limited options in MIDP / CLDC, this may well be the simplest
            // way to go about this. For example, we have no reflection available, really.
            // Order is important here.
            ParsedResult result;

            if ((result = BookmarkDoCoMoResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            else if ((result = AddressBookDoCoMoResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            else if ((result = EmailDoCoMoResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            else if ((result = AddressBookAUResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            else if ((result = VCardResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            else if ((result = BizcardResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            else if ((result = VEventResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            else if ((result = EmailAddressResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            else if ((result = TelResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            else if ((result = SMSMMSResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            else if ((result = GeoResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            else if ((result = URLTOResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            else if ((result = URIResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            else if ((result = ISBNResultParser.parse(theResult)) != null)
            {
                // We depend on ISBN parsing coming before UPC, as it is a subset.
                return(result);
            }
            else if ((result = ProductResultParser.parse(theResult)) != null)
            {
                return(result);
            }
            return(new TextParsedResult(theResult.Text, null));
        }
Ejemplo n.º 11
0
        private static string matchSingleVCardPrefixedField(string prefix, string rawText, bool trim)
        {
            IList <string> values = VCardResultParser.matchSingleVCardPrefixedField(prefix, rawText, trim, false);

            return(values == null || values.Count == 0 ? null : values[0]);
        }