using System;
using System.Collections.Generic;
using System.Text;
namespace Nuclex.Support.Tracking {
/// Base class for observable operations running in the background
public abstract class Operation : Progression {
/// Executes the operation
public abstract void Start();
///
/// Executes the operation synchronously, blocking the calling thread
///
public virtual void Execute() {
Start();
WaitHandle.WaitOne();
}
}
} // namespace Nuclex.Support.Tracking