コード例 #1
0
 public BaseIpAddressOption(ipAddressOptionType ipAddressOption) : base()
 {
     if (ipAddressOption != null)
     {
         ipAddress = ipAddressOption.ipAddress;
     }
 }
コード例 #2
0
        /* (non-Javadoc)
         * @see com.jagornet.dhcpv6.option.DhcpComparableOption#matches(com.jagornet.dhcp.xml.OptionExpression)
         */
        public bool Matches(optionExpression expression)
        {
            if (expression == null)
            {
                return(false);
            }
            if (expression.code != this.GetCode())
            {
                return(false);
            }
            if (ipAddress == null)
            {
                return(false);
            }

            ipAddressOptionType exprOption = (ipAddressOptionType)expression.Item;

            if (exprOption != null)
            {
                String    exprIpAddress = exprOption.ipAddress;
                @operator op            = expression.@operator;
                if (op.Equals(@operator.equals))
                {
                    return(ipAddress.Equals(exprIpAddress));
                }
                else if (op.Equals(@operator.startsWith))
                {
                    return(ipAddress.StartsWith(exprIpAddress));
                }
                else if (op.Equals(@operator.endsWith))
                {
                    return(ipAddress.EndsWith(exprIpAddress));
                }
                else if (op.Equals(@operator.contains))
                {
                    return(ipAddress.Contains(exprIpAddress));
                }
                else if (op.Equals(@operator.regExp))
                {
                    Match m = Regex.Match(ipAddress, exprIpAddress);
                    return(m.Success);
                }
                else
                {
                    log.Warn("Unsupported expression operator: " + op);
                }
            }

            return(false);
        }