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);
}
}