public static string Scope(this IInternetData data) { string result = ""; IInternetData d = data; while (d != null) { result += d.ProtocalType; if (d is UDPDatagram u) { result += $"({u.Header.SourcePort} => {u.Header.DestPort})"; } else if (d is TCPDatagram t) { result += $"({t.Header.SourcePort} => {t.Header.DestPort})"; } d = d.Super; if (d != null) { result += "=>"; } } return(result); }
public UsageDataDisplay(IInternetData usageData) { InitializeComponent(); foreach (var day in usageData.GetDaysOfUsage()) { var usg = new ListViewItem(ToMbGb(day.TotalUsed)); usg.SubItems.Add(ToMbGb(day.TotalDownload)); usg.SubItems.Add(ToMbGb(day.TotalUpload)); usg.SubItems.Add(day.Date.ToString("dd/MM/yyyy")); usg.SubItems.Add(ToMbGb(day.TotalAllowed)); listViewUsageData.Items.Add(usg); } }
public static bool IsType(this IInternetData data, ProtocalType type) { IInternetData d = data; while (d != null) { if (d.ProtocalType == type) { return(true); } d = d.Super; } return(false); }
public static bool IsType(this IInternetData data, Filters.ProtocalFilterOption type) { if (data.IsType(ProtocalType.ICMP)) { if ((type & Filters.ProtocalFilterOption.ICMP) != Filters.ProtocalFilterOption.ICMP) { return(false); } } else if (data.IsType(ProtocalType.IGMP)) { if ((type & Filters.ProtocalFilterOption.IGMP) != Filters.ProtocalFilterOption.IGMP) { return(false); } } else if (data.IsType(ProtocalType.DNS)) { if ((type & Filters.ProtocalFilterOption.DNS) != Filters.ProtocalFilterOption.DNS) { return(false); } } else if (data.IsType(ProtocalType.Http)) { if ((type & Filters.ProtocalFilterOption.Http) != Filters.ProtocalFilterOption.Http) { return(false); } } else if (data.IsType(ProtocalType.Https)) { if ((type & Filters.ProtocalFilterOption.Https) != Filters.ProtocalFilterOption.Https) { return(false); } } else { if ((type & Filters.ProtocalFilterOption.Others) != Filters.ProtocalFilterOption.Others) { return(false); } } return(true); }