NewIncomingChanges.cs 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. using System;
  2. using Codice.Client.Common;
  3. using Codice.CM.Common;
  4. using PlasticGui.WorkspaceWindow;
  5. using Unity.PlasticSCM.Editor.UI;
  6. using GluonNewIncomingChangesUpdater = PlasticGui.Gluon.WorkspaceWindow.NewIncomingChangesUpdater;
  7. using GluonCheckIncomingChanges = PlasticGui.Gluon.WorkspaceWindow.CheckIncomingChanges;
  8. namespace Unity.PlasticSCM.Editor
  9. {
  10. internal static class NewIncomingChanges
  11. {
  12. internal static NewIncomingChangesUpdater BuildUpdaterForDeveloper(
  13. WorkspaceInfo wkInfo,
  14. CheckIncomingChanges.IAutoRefreshIncomingChangesView autoRefreshIncomingChangesView,
  15. CheckIncomingChanges.IUpdateIncomingChanges updateIncomingChanges)
  16. {
  17. if (!ClientConfig.Get().GetClientConfigData().IsIncomingChangesEnabled())
  18. return null;
  19. NewIncomingChangesUpdater updater = new NewIncomingChangesUpdater(
  20. new UnityPlasticTimerBuilder(), updateIncomingChanges);
  21. updater.SetAutoRefreshIncomingChangesView(
  22. autoRefreshIncomingChangesView);
  23. updater.SetWorkspace(wkInfo);
  24. updater.Start();
  25. return updater;
  26. }
  27. internal static GluonNewIncomingChangesUpdater BuildUpdaterForGluon(
  28. WorkspaceInfo wkInfo,
  29. GluonCheckIncomingChanges.IAutoRefreshIncomingChangesView autoRefreshIncomingChangesView,
  30. GluonCheckIncomingChanges.IUpdateIncomingChanges updateIncomingChanges,
  31. GluonCheckIncomingChanges.ICalculateIncomingChanges calculateIncomingChanges)
  32. {
  33. if (!ClientConfig.Get().GetClientConfigData().IsGluonIncomingChangesEnabled())
  34. return null;
  35. GluonNewIncomingChangesUpdater updater = new GluonNewIncomingChangesUpdater(
  36. wkInfo,
  37. new UnityPlasticTimerBuilder(),
  38. updateIncomingChanges,
  39. autoRefreshIncomingChangesView,
  40. calculateIncomingChanges);
  41. updater.Start();
  42. return updater;
  43. }
  44. internal static void LaunchUpdater(
  45. NewIncomingChangesUpdater developerNewIncomingChangesUpdater,
  46. GluonNewIncomingChangesUpdater gluonNewIncomingChangesUpdater)
  47. {
  48. if (developerNewIncomingChangesUpdater != null)
  49. {
  50. developerNewIncomingChangesUpdater.Start();
  51. developerNewIncomingChangesUpdater.Update();
  52. }
  53. if (gluonNewIncomingChangesUpdater != null)
  54. {
  55. gluonNewIncomingChangesUpdater.Start();
  56. gluonNewIncomingChangesUpdater.Update(DateTime.Now);
  57. }
  58. }
  59. internal static void StopUpdater(
  60. NewIncomingChangesUpdater developerNewIncomingChangesUpdater,
  61. GluonNewIncomingChangesUpdater gluonNewIncomingChangesUpdater)
  62. {
  63. if (developerNewIncomingChangesUpdater != null)
  64. developerNewIncomingChangesUpdater.Stop();
  65. if (gluonNewIncomingChangesUpdater != null)
  66. gluonNewIncomingChangesUpdater.Stop();
  67. }
  68. internal static void DisposeUpdater(
  69. NewIncomingChangesUpdater developerNewIncomingChangesUpdater,
  70. GluonNewIncomingChangesUpdater gluonNewIncomingChangesUpdater)
  71. {
  72. if (developerNewIncomingChangesUpdater != null)
  73. developerNewIncomingChangesUpdater.Dispose();
  74. if (gluonNewIncomingChangesUpdater != null)
  75. gluonNewIncomingChangesUpdater.Dispose();
  76. }
  77. }
  78. }