using System;
using System.Collections.Generic;
using Nuclex.Support.Tracking;
namespace Nuclex.Support.Services.ProgressTracking {
#if false
  /// Tracks the progress of running background processes
  public class ProgressTrackingComponent :
    IProgressTrackingService,
    IProgressPublishingService {
    /// Fired when the overall progress changes
    public event EventHandler ProgressChanged;
    /// Initializes a new progress tracking component
    public ProgressTrackingComponent() {
    }
    /// Tracks the progress of the specified transaction
    /// 
    ///   Transaction whose progress will be tracked
    /// 
    /// 
    ///   Identifier unique to the tracked background process. Can be null.
    /// 
    public void Track(Transaction transaction, object processIdentifier) {
    }
    /// Tracks the progress of the specified transaction
    /// 
    ///   Transaction whose progress will be tracked
    /// 
    public void Track(Transaction transaction) {
    }
    /// Stops tracking the specified transaction
    /// Transaction that will no longer be tracked
    public void Untrack(Transaction transaction) {
    }
    /// The overall progress of all tracked background processes
    public float TotalProgress {
      get { return 0.0f; }
    }
    /// Currently active background processes
    public IEnumerable TrackedProcesses {
      get { return null; }
    }
  }
#endif
} // namespace Nuclex.Support.Services.ProgressTracking