Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
TabSniffer.cs
1using System;
2using System.Text;
3using System.Threading.Tasks;
4using System.Windows.Media;
6
8{
9 public class TabSniffer : SnifferBase
10 {
11 private readonly SnifferView view;
12 private string snifferId = null;
13
14 public TabSniffer(SnifferView View)
15 {
16 this.view = View;
17 }
18
19 public SnifferView View => this.view;
20
21 public string SnifferId
22 {
23 get => this.snifferId;
24 set => this.snifferId = value;
25 }
26
27 public override Task ReceiveBinary(DateTime Timestamp, byte[] Data)
28 {
29 this.view.Add(new SniffItem(Timestamp, SniffItemType.DataReceived, HexToString(Data), Data, Colors.White, Colors.Navy));
30 return Task.CompletedTask;
31 }
32
33 public override Task TransmitBinary(DateTime Timestamp, byte[] Data)
34 {
35 this.view.Add(new SniffItem(Timestamp, SniffItemType.DataTransmitted, HexToString(Data), Data, Colors.Black, Colors.White));
36 return Task.CompletedTask;
37 }
38
39 internal static string HexToString(byte[] Data)
40 {
41 StringBuilder Output = new StringBuilder();
42 int i = 0;
43
44 foreach (byte b in Data)
45 {
46 if (i > 0)
47 Output.Append(' ');
48
49 Output.Append(b.ToString("X2"));
50
51 i = (i + 1) & 31;
52 if (i == 0)
53 Output.AppendLine();
54 }
55
56 return Output.ToString().TrimEnd();
57 }
58
59 public override Task ReceiveText(DateTime Timestamp, string Text)
60 {
61 this.view.Add(new SniffItem(Timestamp, SniffItemType.TextReceived, Text, null, Colors.White, Colors.Navy));
62 return Task.CompletedTask;
63 }
64
65 public override Task TransmitText(DateTime Timestamp, string Text)
66 {
67 this.view.Add(new SniffItem(Timestamp, SniffItemType.TextTransmitted, Text, null, Colors.Black, Colors.White));
68 return Task.CompletedTask;
69 }
70
71 public override Task Information(DateTime Timestamp, string Comment)
72 {
73 this.view.Add(new SniffItem(Timestamp, SniffItemType.Information, Comment, null, Colors.Yellow, Colors.DarkGreen));
74 return Task.CompletedTask;
75 }
76
77 public override Task Warning(DateTime Timestamp, string Warning)
78 {
79 this.view.Add(new SniffItem(Timestamp, SniffItemType.Warning, Warning, null, Colors.Black, Colors.Yellow));
80 return Task.CompletedTask;
81 }
82
83 public override Task Error(DateTime Timestamp, string Error)
84 {
85 this.view.Add(new SniffItem(Timestamp, SniffItemType.Error, Error, null, Colors.White, Colors.Red));
86 return Task.CompletedTask;
87 }
88
89 public override Task Exception(DateTime Timestamp, string Exception)
90 {
91 this.view.Add(new SniffItem(Timestamp, SniffItemType.Exception, Exception, null, Colors.White, Colors.DarkRed));
92 return Task.CompletedTask;
93 }
94 }
95}
Interaction logic for SnifferView.xaml
Represents one item in a sniffer output.
Definition: SniffItem.cs:23
override Task Exception(DateTime Timestamp, string Exception)
Called to inform the viewer of an exception state.
Definition: TabSniffer.cs:89
override Task TransmitBinary(DateTime Timestamp, byte[] Data)
Called when binary data has been transmitted.
Definition: TabSniffer.cs:33
override Task ReceiveText(DateTime Timestamp, string Text)
Called when text has been received.
Definition: TabSniffer.cs:59
override Task ReceiveBinary(DateTime Timestamp, byte[] Data)
Called when binary data has been received.
Definition: TabSniffer.cs:27
override Task Information(DateTime Timestamp, string Comment)
Called to inform the viewer of something.
Definition: TabSniffer.cs:71
override Task Error(DateTime Timestamp, string Error)
Called to inform the viewer of an error state.
Definition: TabSniffer.cs:83
override Task TransmitText(DateTime Timestamp, string Text)
Called when text has been transmitted.
Definition: TabSniffer.cs:65
override Task Warning(DateTime Timestamp, string Warning)
Called to inform the viewer of a warning state.
Definition: TabSniffer.cs:77
Abstract base class for sniffers. Implements default method overloads.
Definition: SnifferBase.cs:12