using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; using Tango.PMR.Diagnostics; namespace Tango.FSE.Common.Events { /// /// Represents a machine events notifications provider. /// public interface IEventsProvider { /// /// Gets a value indicating whether there are any active events currently. /// bool HasActiveEvents { get; } /// /// Gets the events history (resolved events). /// ObservableCollection EventsHistory { get; } /// /// Gets the current active events. /// ObservableCollection ActiveEvents { get; } /// /// Emulates a hardware event that will last for the specified timeout. /// /// Type of the event. /// The timeout. Task PushEmulatedEvent(Event ev, TimeSpan timeout); } }