/// <summary> /// Handle commands at the Read level /// </summary> /// <param name="buffer">Line buffer</param> /// <param name="parser">Parser</param> private bool ReadCommand(LineBuffer buffer, Parser parser) { switch (parser.NextCommand()) { case Parser.ParseToken.COMMENT: CommentCommand(buffer, parser); break; case Parser.ParseToken.SAY: SayCommand(buffer); break; case Parser.ParseToken.OPTION: ChangeState(CoSyState.OPT); OptionCommand(parser); break; case Parser.ParseToken.JOIN: JoinCommand(buffer, parser); break; case Parser.ParseToken.RESIGN: ResignCommand(buffer, parser); break; case Parser.ParseToken.KILLSCRATCH: _scratch.Clear(); buffer.WriteLine("Scratchpad Deleted"); break; case Parser.ParseToken.BYE: return(ByeCommand(buffer, parser)); case Parser.ParseToken.QUIT: QuitState(); break; } return(false); }
/// <summary> /// Handle commands at the Read level /// </summary> /// <param name="buffer">Line buffer</param> /// <param name="parser">Parser</param> private bool ReadCommand(LineBuffer buffer, Parser parser) { switch (parser.NextCommand()) { case Parser.ParseToken.COMMENT: CommentCommand(buffer, parser); break; case Parser.ParseToken.SAY: SayCommand(buffer); break; case Parser.ParseToken.OPTION: ChangeState(CoSyState.OPT); OptionCommand(parser); break; case Parser.ParseToken.JOIN: JoinCommand(buffer, parser); break; case Parser.ParseToken.RESIGN: ResignCommand(buffer, parser); break; case Parser.ParseToken.KILLSCRATCH: _scratch.Clear(); buffer.WriteLine("Scratchpad Deleted"); break; case Parser.ParseToken.BYE: return ByeCommand(buffer, parser); case Parser.ParseToken.QUIT: QuitState(); break; } return false; }
/// <summary> /// Handle commands at the main level. /// </summary> /// <param name="buffer">Line buffer</param> /// <param name="parser">The command parser</param> private bool MainCommand(LineBuffer buffer, Parser parser) { Parser.ParseToken nextCommand = parser.NextCommand(); if (nextCommand == Parser.ParseToken.FILE) { buffer.Output = _scratch; nextCommand = parser.NextCommand(); } switch (nextCommand) { case Parser.ParseToken.DOWNLOAD: DownloadCommand(buffer); break; case Parser.ParseToken.UPLOAD: UploadCommand(buffer); break; case Parser.ParseToken.OPTION: ChangeState(CoSyState.OPT); OptionCommand(parser); break; case Parser.ParseToken.SCPUT: ScputCommand(parser); break; case Parser.ParseToken.SCRIPT: buffer.Script = _script; break; case Parser.ParseToken.JOIN: JoinCommand(buffer, parser); break; case Parser.ParseToken.RESIGN: ResignCommand(buffer, parser); break; case Parser.ParseToken.READ: if (parser.NextArgument() == "all") { buffer.WriteLine("......"); ReadScratchpad(buffer); buffer.WriteLine(""); ShowScratchpadSize(buffer); } break; case Parser.ParseToken.KILLSCRATCH: _scratch.Clear(); buffer.WriteLine("Scratchpad Deleted"); break; case Parser.ParseToken.BYE: return ByeCommand(buffer, parser); } return false; }
/// <summary> /// Handle commands at the main level. /// </summary> /// <param name="buffer">Line buffer</param> /// <param name="parser">The command parser</param> private bool MainCommand(LineBuffer buffer, Parser parser) { Parser.ParseToken nextCommand = parser.NextCommand(); if (nextCommand == Parser.ParseToken.FILE) { buffer.Output = _scratch; nextCommand = parser.NextCommand(); } switch (nextCommand) { case Parser.ParseToken.DOWNLOAD: DownloadCommand(buffer); break; case Parser.ParseToken.UPLOAD: UploadCommand(buffer); break; case Parser.ParseToken.OPTION: ChangeState(CoSyState.OPT); OptionCommand(parser); break; case Parser.ParseToken.SCPUT: ScputCommand(parser); break; case Parser.ParseToken.SCRIPT: buffer.Script = _script; break; case Parser.ParseToken.JOIN: JoinCommand(buffer, parser); break; case Parser.ParseToken.RESIGN: ResignCommand(buffer, parser); break; case Parser.ParseToken.READ: if (parser.NextArgument() == "all") { buffer.WriteLine("......"); ReadScratchpad(buffer); buffer.WriteLine(""); ShowScratchpadSize(buffer); } break; case Parser.ParseToken.KILLSCRATCH: _scratch.Clear(); buffer.WriteLine("Scratchpad Deleted"); break; case Parser.ParseToken.BYE: return(ByeCommand(buffer, parser)); } return(false); }