public override TrafficSplitterRule Create(NameValueItem nviConfigurationRoot) { IPAddressRule ipaRule = new IPAddressRule(); ipaRule.Action = ConvertToAction(nviConfigurationRoot.GetChildsByName("action")[0]); if (nviConfigurationRoot.ContainsChildItem("address")) { ipaRule.Address = IPAddress.Parse(nviConfigurationRoot["address"][0].Value); } if (nviConfigurationRoot.ContainsChildItem("wildcard")) { ipaRule.Wildcard = Subnetmask.Parse(nviConfigurationRoot["wildcard"][0].Value); } if (nviConfigurationRoot.ContainsChildItem("destinationAddress")) { ipaRule.Destination = IPAddress.Parse(nviConfigurationRoot["destinationAddress"][0].Value); } if (nviConfigurationRoot.ContainsChildItem("sourceAddress")) { ipaRule.Source = IPAddress.Parse(nviConfigurationRoot["sourceAddress"][0].Value); } if (nviConfigurationRoot.ContainsChildItem("destinationWildcard")) { ipaRule.DestinationWildcard = Subnetmask.Parse(nviConfigurationRoot["destinationWildcard"][0].Value); } if (nviConfigurationRoot.ContainsChildItem("sourceWildcard")) { ipaRule.SourceWildcard = Subnetmask.Parse(nviConfigurationRoot["sourceWildcard"][0].Value); } return(ipaRule); }
public override NameValueItem[] GetConfiguration(TrafficSplitterRule tsrRule) { IPAddressRule ipaRule = (IPAddressRule)tsrRule; List <NameValueItem> lNvi = new List <NameValueItem>(); lNvi.Add(ConvertActionToNameValueItem(ipaRule.Action)); if (ipaRule.Address != null) { lNvi.Add(new NameValueItem("address", ipaRule.Address.ToString())); } if (ipaRule.Wildcard != null) { lNvi.Add(new NameValueItem("wildcard", ipaRule.Wildcard.ToString())); } if (ipaRule.Destination != null) { lNvi.Add(new NameValueItem("destinationAddress", ipaRule.Destination.ToString())); } if (ipaRule.Source != null) { lNvi.Add(new NameValueItem("sourceAddress", ipaRule.Source.ToString())); } if (ipaRule.DestinationWildcard != null) { lNvi.Add(new NameValueItem("destinationWildcard", ipaRule.DestinationWildcard.ToString())); } if (ipaRule.SourceWildcard != null) { lNvi.Add(new NameValueItem("sourceWildcard", ipaRule.SourceWildcard.ToString())); } return(lNvi.ToArray()); }