using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.Core; namespace Tango.PPC.Common.Synchronization { public interface IMachineDataSynchronizer { event EventHandler SynchronizationStarted; event EventHandler SynchronizationEnded; event EventHandler CurrentStatusChanged; int MaxJobs { get; set; } int MaxJobRuns { get; set; } int MaxMachinesEvents { get; set; } SynchronizationStatus CurrentStatus { get; } SynchronizationStatus LastStatus { get; } SynchronizedObservableCollection StatusHistory { get; } TimeSpan Interval { get; set; } bool IsEnabled { get; set; } bool IsSynchronizing { get; } Task Synchronize(); } }