public virtual ProgressListener ProgressForPart(string part, long totalCount) { AssertNotBuilt(); AssertUniquePart(part); ProgressListener_MultiPartProgressListener progress = new ProgressListener_MultiPartProgressListener(Aggregator, part, totalCount); Aggregator.add(progress, totalCount); return(progress); }
internal void Start(ProgressListener_MultiPartProgressListener part) { lock (this) { if (_states.put(part, ProgressListener_MultiPartProgressListener.State.Live) == ProgressListener_MultiPartProgressListener.State.Init) { _indicator.startPart(part.Part, part.TotalCount); } } }
internal void Complete(ProgressListener_MultiPartProgressListener part) { lock (this) { if (_states.Remove(part) != null) { _indicator.completePart(part.Part); if (_states.Count == 0) { _indicator.completeProcess(); } } } }