using System; using DelftTools.Utils.Collections.Generic; namespace DelftTools.Shell.Core.Workflow { public interface IActivityRunner { /// /// Fired when an activity completes /// event EventHandler ActivityCompleted; /// /// Occurs when the queuestate changes /// event EventHandler IsRunningChanged; event EventHandler ActivityStatusChanged; /// /// All activities (todo and running) /// IEventedList Activities { get; } /// /// Determines whether some activity is running /// bool IsRunning { get; } /// /// Call to find out if a specific activity is being run /// /// /// bool IsRunningActivity(IActivity activity); /// /// Schedules activity to run. /// /// Activity to process void Enqueue(IActivity activity); /// /// Cancels the specified activity /// /// void Cancel(IActivity activity); /// /// Stops all activities and empties the TODO-list /// void CancelAll(); } }