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