2 using System.Collections.Generic;
\r
5 using System.Threading.Tasks;
\r
7 namespace Pithos.Core
\r
9 public class Notifier:IDisposable
\r
11 private readonly IStatusNotification _statusNotification;
\r
13 private readonly Notification _endNotification;
\r
15 public Notifier(IStatusNotification statusNotification,string startMessage,string endMessage)
\r
16 :this(statusNotification,new Notification{Message=startMessage},new Notification{Message=endMessage} )
\r
21 public Notifier(IStatusNotification statusNotification,Notification startNotification,Notification endNotification)
\r
23 _statusNotification = statusNotification;
\r
24 _endNotification = endNotification;
\r
26 if (startNotification!=null)
\r
27 _statusNotification.Notify(startNotification);
\r
31 public void Dispose()
\r
34 GC.SuppressFinalize(this);
\r
42 protected virtual void Dispose(bool disposing)
\r
46 if (_endNotification!=null)
\r
47 _statusNotification.Notify(_endNotification);
\r