source: trunk/CrypPlugins/KeySearcher/P2P/Presentation/StatusContainer.cs @ 2078

Last change on this file since 2078 was 2078, checked in by Sven Rech, 11 years ago

balloon messages for keysearcher

File size: 9.7 KB
Line 
1using System;
2using System.Collections.ObjectModel;
3using System.ComponentModel;
4using System.Numerics;
5using Cryptool.PluginBase;
6
7namespace KeySearcher.P2P.Presentation
8{
9    public class StatusContainer : INotifyPropertyChanged
10    {
11        private KeySearcher keySearcher;
12        private string currentOperation;
13        public string CurrentOperation
14        {
15            get { return currentOperation; }
16            set
17            {
18                currentOperation = "> " + value + " <";
19                OnPropertyChanged("CurrentOperation");
20                keySearcher.GuiLogMessage(value, NotificationLevel.Balloon);
21            }
22        }
23
24        private BigInteger localFinishedChunks;
25        public BigInteger LocalFinishedChunks
26        {
27            get { return localFinishedChunks; }
28            set
29            {
30                localFinishedChunks = value;
31                OnPropertyChanged("LocalFinishedChunks");
32            }
33        }
34
35        private BigInteger currentChunk;
36        public BigInteger CurrentChunk
37        {
38            get { return currentChunk; }
39            set
40            {
41                currentChunk = value;
42                OnPropertyChanged("CurrentChunk");
43            }
44        }
45
46        private double progressOfCurrentChunk;
47        public double ProgressOfCurrentChunk
48        {
49            get { return progressOfCurrentChunk; }
50            set
51            {
52                progressOfCurrentChunk = value;
53                OnPropertyChanged("ProgressOfCurrentChunk");
54            }
55        }
56
57        private double globalProgress;
58        public double GlobalProgress
59        {
60            get { return globalProgress; }
61            set
62            {
63                globalProgress = value;
64                OnPropertyChanged("GlobalProgress");
65            }
66        }
67
68        private bool isCurrentProgressIndeterminate;
69        public bool IsCurrentProgressIndeterminate
70        {
71            get { return isCurrentProgressIndeterminate; }
72            set
73            {
74                isCurrentProgressIndeterminate = value;
75                OnPropertyChanged("IsCurrentProgressIndeterminate");
76            }
77        }
78
79        private BigInteger keysPerSecond;
80        public BigInteger KeysPerSecond
81        {
82            get { return keysPerSecond; }
83            set
84            {
85                keysPerSecond = value;
86                OnPropertyChanged("KeysPerSecond");
87            }
88        }
89
90        private DateTime startDate;
91        public DateTime StartDate
92        {
93            get { return startDate; }
94            set
95            {
96                startDate = value;
97                OnPropertyChanged("StartDate");
98            }
99        }
100
101        //----------------------------------
102        private long jobSubmitterID;
103        public long JobSubmitterID
104        {
105            get { return jobSubmitterID; }
106            set
107            {
108                jobSubmitterID = value;
109                OnPropertyChanged("JobSubmitterID");
110            }
111        }
112        //-----------------------------------
113
114        private TimeSpan elapsedTime;
115        public TimeSpan ElapsedTime
116        {
117            get { return elapsedTime; }
118            set
119            {
120                elapsedTime = value;
121                OnPropertyChanged("ElapsedTime");
122            }
123        }
124
125        private TimeSpan remainingTime;
126        public TimeSpan RemainingTime
127        {
128            get { return remainingTime; }
129            set
130            {
131                remainingTime = value;
132                OnPropertyChanged("RemainingTime");
133            }
134        }
135
136        private TimeSpan remainingTimeTotal;
137        public TimeSpan RemainingTimeTotal
138        {
139            get { return remainingTimeTotal; }
140            set
141            {
142                remainingTimeTotal = value;
143                OnPropertyChanged("RemainingTimeTotal");
144            }
145        }
146
147        private BigInteger totalAmountOfParticipants;
148        public BigInteger TotalAmountOfParticipants
149        {
150            get { return totalAmountOfParticipants; }
151            set
152            {
153                totalAmountOfParticipants = value;
154                OnPropertyChanged("TotalAmountOfParticipants");
155            }
156        }
157
158        private string estimatedFinishDate;
159        public string EstimatedFinishDate
160        {
161            get { return estimatedFinishDate; }
162            set
163            {
164                estimatedFinishDate = value;
165                OnPropertyChanged("EstimatedFinishDate");
166            }
167        }
168
169        private BigInteger totalDhtRequests;
170        public BigInteger TotalDhtRequests
171        {
172            get { return totalDhtRequests; }
173            set
174            {
175                totalDhtRequests = value;
176                OnPropertyChanged("TotalDhtRequests");
177            }
178        }
179
180        private BigInteger requestsPerNode;
181        public BigInteger RequestsPerNode
182        {
183            get { return requestsPerNode; }
184            set
185            {
186                requestsPerNode = value;
187                OnPropertyChanged("RequestsPerNode");
188            }
189        }
190
191        private BigInteger retrieveRequests;
192        public BigInteger RetrieveRequests
193        {
194            get { return retrieveRequests; }
195            set
196            {
197                retrieveRequests = value;
198                OnPropertyChanged("RetrieveRequests");
199            }
200        }
201
202        private BigInteger removeRequests;
203        public BigInteger RemoveRequests
204        {
205            get { return removeRequests; }
206            set
207            {
208                removeRequests = value;
209                OnPropertyChanged("RemoveRequests");
210            }
211        }
212
213        private BigInteger storeRequests;
214        public BigInteger StoreRequests
215        {
216            get { return storeRequests; }
217            set
218            {
219                storeRequests = value;
220                OnPropertyChanged("StoreRequests");
221            }
222        }
223
224        private TimeSpan dhtOverheadInReadableTime;
225        public TimeSpan DhtOverheadInReadableTime
226        {
227            get { return dhtOverheadInReadableTime; }
228            set
229            {
230                dhtOverheadInReadableTime = value;
231                OnPropertyChanged("DhtOverheadInReadableTime");
232            }
233        }
234
235        private string dhtOverheadInPercent;
236        public string DhtOverheadInPercent
237        {
238            get { return dhtOverheadInPercent; }
239            set
240            {
241                dhtOverheadInPercent = value;
242                OnPropertyChanged("DhtOverheadInPercent");
243            }
244        }
245
246        public ObservableCollection<ResultEntry> TopList { get; set; }
247
248        private bool isSearchingForReservedNodes;
249        public bool IsSearchingForReservedNodes
250        {
251            get { return isSearchingForReservedNodes; }
252            set
253            {
254                isSearchingForReservedNodes = value;
255                OnPropertyChanged("IsSearchingForReservedNodes");
256            }
257        }
258
259        private long storedBytes;
260        public long StoredBytes
261        {
262            get { return storedBytes; }
263            set
264            {
265                storedBytes = value;
266                OnPropertyChanged("StoredBytes");
267            }
268        }
269
270        private long retrievedBytes;
271        public long RetrievedBytes
272        {
273            get { return retrievedBytes; }
274            set
275            {
276                retrievedBytes = value;
277                OnPropertyChanged("RetrievedBytes");
278            }
279        }
280
281        private long totalBytes;
282        public long TotalBytes
283        {
284            get { return totalBytes; }
285            set
286            {
287                totalBytes = value;
288                OnPropertyChanged("TotalBytes");
289            }
290        }
291
292        private long sentBytesByLinkManager;
293        public long SentBytesByLinkManager
294        {
295            get { return sentBytesByLinkManager; }
296            set
297            {
298                sentBytesByLinkManager = value;
299                OnPropertyChanged("SentBytesByLinkManager");
300            }
301        }
302
303        private long receivedBytesByLinkManager;
304        public long ReceivedBytesByLinkManager
305        {
306            get { return receivedBytesByLinkManager; }
307            set
308            {
309                receivedBytesByLinkManager = value;
310                OnPropertyChanged("ReceivedBytesByLinkManager");
311            }
312        }
313
314        private long totalBytesByLinkManager;
315        public long TotalBytesByLinkManager
316        {
317            get { return totalBytesByLinkManager; }
318            set
319            {
320                totalBytesByLinkManager = value;
321                OnPropertyChanged("TotalBytesByLinkManager");
322            }
323        }
324
325        public StatusContainer(KeySearcher keySearcher)
326        {
327            this.keySearcher = keySearcher;
328            EstimatedFinishDate = "-";
329            DhtOverheadInPercent = "-";
330            TopList = new ObservableCollection<ResultEntry>();
331            TotalAmountOfParticipants = 1;
332            CurrentOperation = "Idle";
333        }
334
335        #region INotifyPropertyChanged Members
336
337        [field: NonSerialized]
338        public event PropertyChangedEventHandler PropertyChanged;
339
340        private void OnPropertyChanged(string propertyName)
341        {
342            if (PropertyChanged != null)
343                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
344        }
345
346        #endregion
347    }
348}
Note: See TracBrowser for help on using the repository browser.