/// <summary> /// Initializes a new instance of the <see cref="HierarchicalProgressBase{TMessage}"/> class. /// </summary> /// <param name="keepProgressListOrdered"> /// <see langword="true"/> if the <see cref="activeChildProgressInfos"/> list should be kept ordered with the most recently updated child progress on the end of the list. /// </param> /// <param name="progressReportFactory"> /// The factory used to create <see cref="IProgressReport{TMessage}"/> instances. /// </param> protected HierarchicalProgressBase( bool keepProgressListOrdered, IProgressReportFactory <TMessage> progressReportFactory) { this.keepProgressListOrdered = keepProgressListOrdered; this.ProgressReportFactory = progressReportFactory; }
/// <summary> /// Initializes a new instance of the <see cref="HierarchicalProgress{TMessage}"/> class. /// </summary> /// <param name="reportHandler"> /// The handler which will get called for each reported value. /// </param> /// <param name="reportCompletedHandler"> /// The handler which will get called when the object is marked as completed. /// </param> /// <param name="progressReportFactory"> /// The factory used to create <see cref="IProgressReport{TMessage}"/> instances. /// </param> public HierarchicalProgress( Action <IProgress <IProgressReport <TMessage> >, IProgressReport <TMessage> > reportHandler, Action <IProgress <IProgressReport <TMessage> > > reportCompletedHandler, IProgressReportFactory <TMessage> progressReportFactory) : base(true, progressReportFactory) { this.progress = new Progress <IProgressReport <TMessage> >(value => reportHandler(this, value)); this.reportCompletedHandler = reportCompletedHandler; }
/// <summary> /// Initializes a new instance of the <see cref="ProgressProviderBase{TMessage}"/> class. /// </summary> /// <param name="keepProgressListOrdered"> /// <see langword="true"/> if the <see cref="HierarchicalProgressBase{TMessage}.activeChildProgressInfos"/> list should be kept ordered with the most recently updated child progress on the end of the list. /// </param> /// <param name="progressReportFactory"> /// The factory used to create <see cref="IProgressReport{TMessage}"/> instances. /// </param> protected ProgressProviderBase(bool keepProgressListOrdered, IProgressReportFactory <TMessage> progressReportFactory) : base(keepProgressListOrdered, progressReportFactory) { }