/// <summary> /// Reports the specified progress. /// </summary> /// <param name="progress">The progress.</param> public void Report(Sundew.Base.Computation.Progress <Report> progress) { this.reports.Add(progress); if (progress.Report?.ReportType == ReportType.CompletedGeneration) { this.reports.CompleteAdding(); } }
/// <summary> /// Reports the specified progress. /// </summary> /// <param name="progress">The progress.</param> public void Report(Sundew.Base.Computation.Progress <Report> progress) { switch (progress.Report?.ReportType) { case ReportType.StartingGeneration: this.log.LogMessage(MessageImportance.Normal, "Starting code generation"); break; case ReportType.AddingItems: this.log.LogMessage(MessageImportance.Low, $"Added item: {progress.Report.Parameter}"); break; case ReportType.CompletedAdding: this.log.LogMessage(MessageImportance.Normal, "Completed adding items"); break; case ReportType.GeneratedItem: this.log.LogMessage(MessageImportance.High, $"Completed item: {progress.Report.Parameter}"); break; case ReportType.CompletedTarget: this.log.LogMessage(MessageImportance.Low, $"Completed target: {progress.Report.Parameter}"); break; case ReportType.TargetChanged: this.log.LogMessage(MessageImportance.Low, $"Changed target: {progress.Report.Parameter}"); break; case ReportType.CompletedGeneration: this.log.LogMessage(MessageImportance.High, "Completed code generation"); break; case ReportType.Cancelled: this.log.LogMessage(MessageImportance.High, "Cancelled code generation"); break; case ReportType.Error: this.log.LogError(progress.Report.Parameter.ToStringOrEmpty()); break; case null: break; default: throw new ArgumentOutOfRangeException(nameof(progress.Report.ReportType)); } }
/// <summary> /// Reports the specified progress. /// </summary> /// <param name="progress">The progress.</param> public void Report(Sundew.Base.Computation.Progress <Report> progress) { if (progress.Report == null) { return; } switch (progress.Report.ReportType) { case ReportType.StartingGeneration: this.textWriter.WriteLine("Starting generation"); break; case ReportType.GeneratedItem: case ReportType.AppliedContent: case ReportType.CompletedTarget: this.textWriter.WriteLine(progress.Report.Parameter?.ToString() ?? string.Empty); break; case ReportType.CompletedGeneration: this.textWriter.WriteLine("Completed generation"); break; } }