root / trunk / Pithos.Core / Agents / Notifier.cs @ bc27bb7e
History | View | Annotate | Download (1.2 kB)
1 | f4a72cb8 | pkanavos | using System; |
---|---|---|---|
2 | f4a72cb8 | pkanavos | using System.Collections.Generic; |
3 | f4a72cb8 | pkanavos | using System.Linq; |
4 | f4a72cb8 | pkanavos | using System.Text; |
5 | f4a72cb8 | pkanavos | |
6 | f4a72cb8 | pkanavos | namespace Pithos.Core |
7 | f4a72cb8 | pkanavos | { |
8 | f4a72cb8 | pkanavos | public class Notifier:IDisposable |
9 | f4a72cb8 | pkanavos | { |
10 | f4a72cb8 | pkanavos | private readonly IStatusNotification _statusNotification; |
11 | f4a72cb8 | pkanavos | |
12 | f4a72cb8 | pkanavos | private readonly Notification _endNotification; |
13 | f4a72cb8 | pkanavos | |
14 | f4a72cb8 | pkanavos | public Notifier(IStatusNotification statusNotification,string startMessage,string endMessage) |
15 | f4a72cb8 | pkanavos | :this(statusNotification,new Notification{Message=startMessage},new Notification{Message=endMessage} ) |
16 | f4a72cb8 | pkanavos | { |
17 | f4a72cb8 | pkanavos | |
18 | f4a72cb8 | pkanavos | } |
19 | f4a72cb8 | pkanavos | |
20 | f4a72cb8 | pkanavos | public Notifier(IStatusNotification statusNotification,Notification startNotification,Notification endNotification) |
21 | f4a72cb8 | pkanavos | { |
22 | f4a72cb8 | pkanavos | _statusNotification = statusNotification; |
23 | f4a72cb8 | pkanavos | _endNotification = endNotification; |
24 | f4a72cb8 | pkanavos | _statusNotification.Notify(startNotification); |
25 | f4a72cb8 | pkanavos | } |
26 | f4a72cb8 | pkanavos | |
27 | f4a72cb8 | pkanavos | |
28 | f4a72cb8 | pkanavos | public void Dispose() |
29 | f4a72cb8 | pkanavos | { |
30 | f4a72cb8 | pkanavos | Dispose(true); |
31 | f4a72cb8 | pkanavos | GC.SuppressFinalize(this); |
32 | f4a72cb8 | pkanavos | } |
33 | f4a72cb8 | pkanavos | |
34 | f4a72cb8 | pkanavos | ~Notifier() |
35 | f4a72cb8 | pkanavos | { |
36 | f4a72cb8 | pkanavos | Dispose(false); |
37 | f4a72cb8 | pkanavos | } |
38 | f4a72cb8 | pkanavos | |
39 | f4a72cb8 | pkanavos | protected virtual void Dispose(bool disposing) |
40 | f4a72cb8 | pkanavos | { |
41 | f4a72cb8 | pkanavos | if (disposing) |
42 | f4a72cb8 | pkanavos | { |
43 | f4a72cb8 | pkanavos | _statusNotification.Notify(_endNotification); |
44 | f4a72cb8 | pkanavos | } |
45 | f4a72cb8 | pkanavos | } |
46 | f4a72cb8 | pkanavos | } |
47 | f4a72cb8 | pkanavos | } |