1 //
2 // Copyright (c) 2010-2018 Antmicro
3 // Copyright (c) 2011-2015 Realtime Embedded
4 //
5 // This file is licensed under the MIT License.
6 // Full license text is available in 'licenses/MIT.txt'.
7 //
8 using System;
9 using Antmicro.Renode.Utilities;
10 using Antmicro.Renode.Logging;
11 
12 namespace Antmicro.Renode.UI
13 {
14     public class CLIProgressMonitor : IProgressMonitorHandler
15     {
16         #region IProgressMonitorHandler implementation
17 
Finish(int id)18         public void Finish(int id)
19         {
20         }
21 
Update(int id, string description, int? progress)22         public void Update(int id, string description, int? progress)
23         {
24             var now = CustomDateTime.Now;
25             if(now - lastUpdate > updateTime)
26             {
27                 Logger.Log(LogLevel.Info, description);
28                 lastUpdate = now;
29             }
30         }
31 
32         #endregion
33 
CLIProgressMonitor()34         public CLIProgressMonitor()
35         {
36             updateTime = TimeSpan.FromSeconds(3);
37         }
38 
39         private TimeSpan updateTime;
40         private DateTime lastUpdate;
41     }
42 }
43 
44