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);
        }
Ejemplo n.º 2
0
 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);
 }