summaryrefslogtreecommitdiff
path: root/product/Service/Infrastructure/Updating/CurrentDeployment.cs
blob: 43a1fc069ea96136332749c16d0af1f335ef0cef (plain)
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
using System;
using System.ComponentModel;
using System.Deployment.Application;

namespace MoMoney.Service.Infrastructure.Updating
{
    public class CurrentDeployment : IDeployment
    {
        readonly ApplicationDeployment deployment;

        public CurrentDeployment()
        {
            deployment = ApplicationDeployment.CurrentDeployment;
        }

        public UpdateCheckInfo CheckForDetailedUpdate()
        {
            return deployment.CheckForDetailedUpdate();
        }

        public UpdateCheckInfo CheckForDetailedUpdate(bool persistUpdateCheckResult)
        {
            return deployment.CheckForDetailedUpdate(persistUpdateCheckResult);
        }

        public bool CheckForUpdate()
        {
            return deployment.CheckForUpdate();
        }

        public bool CheckForUpdate(bool persistUpdateCheckResult)
        {
            return deployment.CheckForUpdate(persistUpdateCheckResult);
        }

        public void CheckForUpdateAsync()
        {
            deployment.CheckForUpdateAsync();
        }

        public void CheckForUpdateAsyncCancel()
        {
            deployment.CheckForUpdateAsyncCancel();
        }

        public bool Update()
        {
            return deployment.Update();
        }

        public void UpdateAsync()
        {
            deployment.UpdateAsync();
        }

        public void UpdateAsyncCancel()
        {
            deployment.UpdateAsyncCancel();
        }

        public void DownloadFileGroup(string groupName)
        {
            deployment.DownloadFileGroup(groupName);
        }

        public void DownloadFileGroupAsync(string groupName)
        {
            deployment.DownloadFileGroupAsync(groupName);
        }

        public void DownloadFileGroupAsync(string groupName, object userState)
        {
            deployment.DownloadFileGroupAsync(groupName, userState);
        }

        public bool IsFileGroupDownloaded(string groupName)
        {
            return deployment.IsFileGroupDownloaded(groupName);
        }

        public void DownloadFileGroupAsyncCancel(string groupName)
        {
            deployment.DownloadFileGroupAsyncCancel(groupName);
        }

        public Version CurrentVersion
        {
            get { return deployment.CurrentVersion; }
        }

        public Version UpdatedVersion
        {
            get { return deployment.UpdatedVersion; }
        }

        public string UpdatedApplicationFullName
        {
            get { return deployment.UpdatedApplicationFullName; }
        }

        public DateTime TimeOfLastUpdateCheck
        {
            get { return deployment.TimeOfLastUpdateCheck; }
        }

        public Uri UpdateLocation
        {
            get { return deployment.UpdateLocation; }
        }

        public Uri ActivationUri
        {
            get { return deployment.ActivationUri; }
        }

        public string DataDirectory
        {
            get { return deployment.DataDirectory; }
        }

        public bool IsFirstRun
        {
            get { return deployment.IsFirstRun; }
        }

        public event DeploymentProgressChangedEventHandler CheckForUpdateProgressChanged
        {
            add { deployment.CheckForUpdateProgressChanged += value; }
            remove { deployment.CheckForUpdateProgressChanged -= value; }
        }

        public event CheckForUpdateCompletedEventHandler CheckForUpdateCompleted
        {
            add { deployment.CheckForUpdateCompleted += value; }
            remove { deployment.CheckForUpdateCompleted -= value; }
        }

        public event DeploymentProgressChangedEventHandler UpdateProgressChanged
        {
            add { deployment.UpdateProgressChanged += value; }
            remove { deployment.UpdateProgressChanged -= value; }
        }

        public event AsyncCompletedEventHandler UpdateCompleted
        {
            add { deployment.UpdateCompleted += value; }
            remove { deployment.UpdateCompleted -= value; }
        }

        public event DeploymentProgressChangedEventHandler DownloadFileGroupProgressChanged
        {
            add { deployment.DownloadFileGroupProgressChanged += value; }
            remove { deployment.DownloadFileGroupProgressChanged -= value; }
        }

        public event DownloadFileGroupCompletedEventHandler DownloadFileGroupCompleted
        {
            add { deployment.DownloadFileGroupCompleted += value; }
            remove { deployment.DownloadFileGroupCompleted -= value; }
        }
    }
}