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