コード例 #1
0
ファイル: AMCPParser.cs プロジェクト: chiendangmr/ChienCG
        bool ParseSuccessHeader(string[] tokens)
        {
            if (tokens.Length >= 3)
            {
                try
                {
                    nextParserEventArgs_.Command = (AMCPCommand)Enum.Parse(typeof(AMCPCommand), tokens[1]);
                }
                catch
                {
                    nextParserEventArgs_.Command = AMCPCommand.Undefined;
                }
            }

            if (tokens.Length >= 4)
            {
                nextParserEventArgs_.Subcommand = tokens[2];
            }

            if (tokens[0] == "202")
            {
                return(true);
            }
            else if (tokens[0] == "201")
            {
                State = AMCPParserState.ExpectingOneLineData;
            }
            else if (tokens[0] == "200")
            {
                State = AMCPParserState.ExpectingMultilineData;
            }
            return(false);
        }
コード例 #2
0
ファイル: AMCPParser.cs プロジェクト: chiendangmr/ChienCG
        private void ParseLine(string line)
        {
            bool bCompleteResponse = false;

            switch (State)
            {
            case AMCPParserState.ExpectingHeader:
                bCompleteResponse = ParseHeader(line);
                break;

            case AMCPParserState.ExpectingOneLineData:
                bCompleteResponse = ParseOneLineData(line);
                break;

            case AMCPParserState.ExpectingMultilineData:
                bCompleteResponse = ParseMultilineData(line);
                break;
            }

            if (bCompleteResponse)
            {
                OnResponseParsed(nextParserEventArgs_);

                State = AMCPParserState.ExpectingHeader;
                nextParserEventArgs_ = new AMCPParserEventArgs();
            }
        }
コード例 #3
0
ファイル: AMCPParser.cs プロジェクト: chiendangmr/ChienCG
 bool ParseInformationalHeader(string[] tokens)
 {
     if (tokens[0] == "100")
     {
         return(true);
     }
     else if (tokens[0] == "101")
     {
         State = AMCPParserState.ExpectingOneLineData;
     }
     return(false);
 }
コード例 #4
0
        bool ParseSuccessHeader(string[] tokens)
        {
            if (tokens.Length >= 3)
            {
                try
                {
                    nextParserEventArgs_.Command = (AMCPCommand)Enum.Parse(typeof(AMCPCommand), tokens[1]);
                }
                catch
                {
                    nextParserEventArgs_.Command = AMCPCommand.Undefined;
                }
            }

            if (tokens.Length >= 4)
                nextParserEventArgs_.Subcommand = tokens[2];

            if (tokens[0] == "202")
            {
                return true;
            }
            else if (tokens[0] == "201")
            {
                State = AMCPParserState.ExpectingOneLineData;
            }
            else if (tokens[0] == "200")
            {
                State = AMCPParserState.ExpectingMultilineData;
            }
            return false;
        }
コード例 #5
0
        private void ParseLine(string line)
        {
            bool bCompleteResponse = false;
            switch (State)
            {
                case AMCPParserState.ExpectingHeader:
                    bCompleteResponse = ParseHeader(line);
                    break;

                case AMCPParserState.ExpectingOneLineData:
                    bCompleteResponse = ParseOneLineData(line);
                    break;

                case AMCPParserState.ExpectingMultilineData:
                    bCompleteResponse = ParseMultilineData(line);
                    break;
            }

            if (bCompleteResponse)
            {
                OnResponseParsed(nextParserEventArgs_);

                State = AMCPParserState.ExpectingHeader;
                nextParserEventArgs_ = new AMCPParserEventArgs();
            }
        }
コード例 #6
0
 bool ParseInformationalHeader(string[] tokens)
 {
     if (tokens[0] == "100")
     {
         return true;
     }
     else if (tokens[0] == "101")
     {
         State = AMCPParserState.ExpectingOneLineData;
     }
     return false;
 }