string[] ReceiveOutputLines(int timeout) { int lenOfGdb = "(gdb)".Length; var sb = new StringBuilder(PendingOutput); int indexOfGdb = PendingOutput.IndexOf("(gdb)"); while (indexOfGdb == -1) { string availableData = LoadAvailableData(timeout); if (availableData == null) { return(null); } sb.Append(availableData); PendingOutput = sb.ToString(); indexOfGdb = PendingOutput.IndexOf("(gdb)"); } var packedOutputLines = PendingOutput.Substring(0, indexOfGdb + lenOfGdb); PendingOutput = PendingOutput.Substring(indexOfGdb + lenOfGdb + 1); return(packedOutputLines.TrimEnd('\r', '\n').Split("\n")); }
private void AddPendingOutput() { var pendingOutput = new PendingOutput(); pendingOutput.Changed += PendingOutput_Changed; PendingOutputs.Add(pendingOutput); RecalculateTransaction(); }
private void RemovePendingOutputAction(PendingOutput item) { if (PendingOutputs.Remove(item)) { item.Changed -= PendingOutput_Changed; RecalculateCreateTransaction(); } }
private void RemovePendingOutput(PendingOutput item) { if (PendingOutputs.Remove(item)) { item.Changed -= PendingOutput_Changed; if (PendingOutputs.Count == 0) { AddPendingOutput(); } RecalculateTransaction(); } }
private async void AddPendingOutput() { var pendingOutput = new PendingOutput(); pendingOutput.Changed += PendingOutput_Changed; PendingOutputs.Add(pendingOutput); try { await RecalculatePendingTransaction(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); } }
private async void RemovePendingOutput(PendingOutput item) { if (PendingOutputs.Remove(item)) { item.Changed -= PendingOutput_Changed; if (PendingOutputs.Count == 0) { AddPendingOutput(); } try { await RecalculatePendingTransaction(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); } } }
private void AddPendingOutputAction() { var pendingOutput = new PendingOutput(); pendingOutput.Changed += PendingOutput_Changed; PendingOutputs.Add(pendingOutput); RecalculateCreateTransaction(); }