Exemplo n.º 1
0
        public bool ParseNextLine(string line)
        {
            if (sectionDefinition != null && LastProcessingStatus == State.InProgress)
            {
                if (line == sectionEndTag)
                {
                    LastProcessingStatus             = State.Succeeded;
                    LastSuccessfullyProcessedSection = sectionDefinition;
                    sectionDefinition = null;
                    return(false);
                }

                KeyValuePair <string, string> result;
                if (LineParserHelper.TryParseKeyValuePair(line, out result))
                {
                    sectionDefinition.Properties[result.Key] = result.Value;
                    return(true);
                }

                LastProcessingStatus = State.Failed;
            }

            sectionDefinition = null;
            return(false);
        }
Exemplo n.º 2
0
        public bool TryParseFirstLine(string line)
        {
            KeyValuePair <string, string> result;

            if (!line.StartsWith(sectionBeginTag) || !LineParserHelper.TryParseSectionLine(line, out result))
            {
                return(false);
            }

            sectionDefinition    = new SectionDefinition(result.Key, result.Value);
            LastProcessingStatus = State.InProgress;
            return(true);
        }
Exemplo n.º 3
0
        private bool TryParseProjectDefinitionFirstLine(string line)
        {
            KeyValuePair <string, string> result1;

            if (!LineParserHelper.TryParseKeyValuePair(line, out result1))
            {
                return(false);
            }

            string[] arrayOfStrings = LineParserHelper.ParseArrayOfStrings(result1.Value);
            if (arrayOfStrings.Length != 3)
            {
                return(false);
            }

            int  num1 = result1.Key.IndexOf('{');
            int  num2 = result1.Key.IndexOf('}');
            Guid result2;

            if (num1 == -1 ||
                num2 == -1 ||
                num1 + 1 > num2 ||
                !Guid.TryParse(result1.Key.Substring(num1 + 1, num2 - num1 - 1), out result2))
            {
                return(false);
            }

            string name    = arrayOfStrings[0];
            string moniker = arrayOfStrings[1];
            Guid   result3;

            if (!Guid.TryParse(arrayOfStrings[2].Trim('{', '}'), out result3))
            {
                return(false);
            }

            project = new ProjectDefinition(result2, name, moniker, result3);
            return(true);
        }