using System; using Codice.CM.Common; using PlasticGui.WorkspaceWindow; using Unity.PlasticSCM.Editor.UI; using GluonIncomingChangesUpdater = PlasticGui.Gluon.WorkspaceWindow.IncomingChangesUpdater; using GluonCheckIncomingChanges = PlasticGui.Gluon.WorkspaceWindow.CheckIncomingChanges; namespace Unity.PlasticSCM.Editor { internal static class IncomingChanges { internal static IncomingChangesUpdater BuildUpdaterForDeveloper( WorkspaceInfo wkInfo, CheckIncomingChanges.IAutoRefreshIncomingChangesView autoRefreshIncomingChangesView, CheckIncomingChanges.IUpdateIncomingChanges updateIncomingChanges) { IncomingChangesUpdater updater = new IncomingChangesUpdater( wkInfo, new UnityPlasticTimerBuilder(), autoRefreshIncomingChangesView, new CheckIncomingChanges.CalculateIncomingChanges(), updateIncomingChanges); updater.Start(); return updater; } internal static GluonIncomingChangesUpdater BuildUpdaterForGluon( WorkspaceInfo wkInfo, GluonCheckIncomingChanges.IAutoRefreshIncomingChangesView autoRefreshIncomingChangesView, GluonCheckIncomingChanges.IUpdateIncomingChanges updateIncomingChanges, GluonCheckIncomingChanges.ICalculateIncomingChanges calculateIncomingChanges) { GluonIncomingChangesUpdater updater = new GluonIncomingChangesUpdater( wkInfo, new UnityPlasticTimerBuilder(), autoRefreshIncomingChangesView, calculateIncomingChanges, updateIncomingChanges); updater.Start(); return updater; } internal static void LaunchUpdater( IncomingChangesUpdater developerIncomingChangesUpdater, GluonIncomingChangesUpdater gluonIncomingChangesUpdater) { if (developerIncomingChangesUpdater != null) { developerIncomingChangesUpdater.Start(); developerIncomingChangesUpdater.AutoUpdate(); } if (gluonIncomingChangesUpdater != null) { gluonIncomingChangesUpdater.Start(); gluonIncomingChangesUpdater.AutoUpdate(); } } internal static void StopUpdater( IncomingChangesUpdater developerIncomingChangesUpdater, GluonIncomingChangesUpdater gluonIncomingChangesUpdater) { if (developerIncomingChangesUpdater != null) developerIncomingChangesUpdater.Stop(); if (gluonIncomingChangesUpdater != null) gluonIncomingChangesUpdater.Stop(); } internal static void DisposeUpdater( IncomingChangesUpdater developerIncomingChangesUpdater, GluonIncomingChangesUpdater gluonIncomingChangesUpdater) { if (developerIncomingChangesUpdater != null) developerIncomingChangesUpdater.Dispose(); if (gluonIncomingChangesUpdater != null) gluonIncomingChangesUpdater.Dispose(); } } }