public void Run(ICommandInteraction writer, [Values(-1L, 0L, 1L, 2L, 3L)] DecimalIntegerToken level, LiteralToken backendName, LiteralToken peripheralName) { if (!SetLogLevel((LogLevel)level.Value, backendName.Value, peripheralName.Value)) { writer.WriteError(string.Format("Could not find emulation element or backend")); } }
public void Run(ICommandInteraction writer, StringToken command, DecimalIntegerToken delay) { var terminal = writer as CommandInteraction; if (terminal == null) { writer.WriteError("Watch command can be used on a full-featured terminal only"); return; } var eater = new CommandInteractionEater(); while (!terminal.HasNewInput) { terminal.SaveCursor(); monitor.Parse(command.Value, eater); writer.Write(eater.GetContents()); var error = eater.GetError(); if (error.Length > 0) { writer.WriteError(error); break; } eater.Clear(); System.Threading.Thread.Sleep((int)delay.Value); terminal.RestoreCursor(); terminal.ClearToEnd(); } }
public void Run(ICommandInteraction writer, [Values("set")] LiteralToken action, DecimalIntegerToken number) { var machines = EmulationManager.Instance.CurrentEmulation.Machines.ToArray(); if(machines.Length > number.Value && number.Value >= 0) { SetCurrentMachine(machines[number.Value]); } else { writer.WriteError("Wrong machine number. Type {0} to show a list of available machines.".FormatWith(Name)); } }
public void Run(ICommandInteraction writer, DecimalIntegerToken width, DecimalIntegerToken height) { if (width.Value <= 0 || height.Value <= 0) { throw new RecoverableException("Width and height must be positive values"); } var image = new Bitmap((int)width.Value, (int)height.Value); using (var graphics = Graphics.FromImage(image)) { var imageSize = new Rectangle(0, 0, (int)width.Value, (int)height.Value); graphics.FillRectangle(Brushes.White, imageSize); } writer.WriteRaw(InlineImage.Encode(image)); }
public void Run(ICommandInteraction writer, DecimalIntegerToken widthToken, DecimalIntegerToken heightToken) { // This method creates white rectangle, intended for testing purposes. var width = (int)widthToken.Value; var height = (int)heightToken.Value; if (width <= 0 || height <= 0) { throw new RecoverableException("Width and height must be positive values"); } var bytes = new byte[width * height * RawImageData.PixelFormat.GetColorDepth()]; for (var i = 0; i < bytes.Length; ++i) { bytes[i] = (byte)0xFF; } var image = new RawImageData(bytes, width, height); writer.WriteRaw(InlineImage.Encode(image.ToPng())); }
public void Run(ICommandInteraction writer, StringToken message, [Values(-1L, 0L, 1L, 2L, 3L)] DecimalIntegerToken level) { InnerLog((LogLevel)(int)level.Value, message.Value); }
public void Run([Values(-1L, 0L, 1L, 2L, 3L)] DecimalIntegerToken level) { SetLogLevel((LogLevel)level.Value); }
public void Run(ICommandInteraction writer, [Values("set")] LiteralToken action, DecimalIntegerToken number) { var machines = EmulationManager.Instance.CurrentEmulation.Machines.ToArray(); if (machines.Length > number.Value && number.Value >= 0) { SetCurrentMachine(machines[number.Value]); } else { writer.WriteError("Wrong machine number. Type {0} to show a list of available machines.".FormatWith(Name)); } }
public void Run(ICommandInteraction writer, [Values(TraceEnableCommand)] LiteralToken enable, LiteralToken cpuToken, StringToken functionName, BooleanToken traceReturn, DecimalIntegerToken numberOfParameters) { Execute(writer, cpuToken, functionName.Value, traceReturn.Value, (int)numberOfParameters.Value); }
public void Run(ICommandInteraction writer, DecimalIntegerToken numberOfEntries) { PrintLastLogs(writer, (int)numberOfEntries.Value); }