/// <summary> Add a new (single IP) ip value to this range </summary> /// <param name="Label"> Descriptive label for this particular IP address(es) </param> /// <param name="IpAddress"> IP address, or the beginning of a range of IP addresses </param> public void Add_IP_Range(string Label, string IpAddress) { Engine_IpRange singleIpRange = new Engine_IpRange { Label = Label, StartIp = IpAddress }; IpRanges.Add(singleIpRange); }
/// <summary> Add a new (single IP) ip value to this range </summary> /// <param name="Label"> Descriptive label for this particular IP address(es) </param> /// <param name="IpAddress"> IP address, or the beginning of a range of IP addresses </param> public void Add_IP_Range(string Label, string IpAddress ) { Engine_IpRange singleIpRange = new Engine_IpRange {Label = Label, StartIp = IpAddress}; IpRanges.Add(singleIpRange); }
private static void read_engine_details_restrictionranges(XmlReader ReaderXml, Engine_Server_Configuration Config ) { Engine_RestrictionRange currentRange = null; while (ReaderXml.Read()) { if (ReaderXml.NodeType == XmlNodeType.Element) { switch (ReaderXml.Name.ToLower()) { case "range": string rangeId = null; if (ReaderXml.MoveToAttribute("ID")) rangeId = ReaderXml.Value.Trim(); // Must have an ID to be valid if (!String.IsNullOrEmpty(rangeId)) { currentRange = null; // Look for a matching range foreach (Engine_RestrictionRange range in Config.RestrictionRanges) { if (range.ID == rangeId) { currentRange = range; break; } } // If no range, create the new one if (currentRange == null) { currentRange = new Engine_RestrictionRange { ID = rangeId }; } if (ReaderXml.MoveToAttribute("Label")) currentRange.Label = ReaderXml.Value.Trim(); } else { // Missing ID in this range currentRange = null; } break; case "removeall": if (currentRange != null) currentRange.IpRanges.Clear(); break; case "iprange": if (currentRange != null) { Engine_IpRange singleIpRange = new Engine_IpRange(); if (ReaderXml.MoveToAttribute("Label")) singleIpRange.Label = ReaderXml.Value.Trim(); if (ReaderXml.MoveToAttribute("Start")) singleIpRange.StartIp = ReaderXml.Value.Trim(); if (ReaderXml.MoveToAttribute("End")) singleIpRange.EndIp = ReaderXml.Value.Trim(); if (singleIpRange.StartIp.Length > 0) currentRange.IpRanges.Add(singleIpRange); } break; } } else if (ReaderXml.NodeType == XmlNodeType.EndElement) { if (String.Compare(ReaderXml.Name, "range", StringComparison.OrdinalIgnoreCase) == 0) { if ((currentRange != null) && (!String.IsNullOrEmpty(currentRange.ID))) { if (!Config.RestrictionRanges.Contains(currentRange)) Config.RestrictionRanges.Add(currentRange); } currentRange = null; } } } }