internal List <PortInfo> FilterPorts(string filter, PortInspectorProtocols portInspectorProtocol, List <PortInfo> unfilteredList) { _transportFilter = MapPortInspectorProtocolToTransportFilter(portInspectorProtocol); SetFilter(filter); var filteredList = FilterList(unfilteredList); if (filteredList.Count > 0) { return(filteredList); } return(null); }
private ProtocolType MapPortInspectorProtocolToTransportFilter(PortInspectorProtocols portInspectorProtocol) { CurrentProtocol = portInspectorProtocol; switch (CurrentProtocol) { case PortInspectorProtocols.TCP: return(ProtocolType.Tcp); case PortInspectorProtocols.UDP: return(ProtocolType.Udp); default: return(ProtocolType.Unspecified); } }
internal void SetFilter(string filter, PortInspectorProtocols protocol) { var filteredList = _portFilter.FilterPorts(filter, protocol, _portInfoList); if (filteredList != null) { filteredList.Sort(); Clear(); foreach (var port in filteredList) { Add(port); } _portInfoList.Where(port => port.IsSelected && !Contains(port)) .ToList().ForEach(deselect => deselect.IsSelected = false); var selectedPorts = this.Where(port => port.IsSelected); App.Mediator.Publish(App._EVENT_PORT_PORTSELECTED, new PortSelectedMessage { SelectedPortList = selectedPorts.ToList() }); } }