public BaseOpaqueDataOption(opaqueDataOptionType opaqueDataOption) : base() { if (((opaqueDataOption != null) && (opaqueDataOption.opaqueData != null))) { this.opaqueData = new BaseOpaqueData(opaqueDataOption.opaqueData); } else { this.opaqueData = new BaseOpaqueData(); } }
/** * Matches. * * @param expression the expression * @param myOpaque the my opaque * * @return true, if successful */ public static bool Matches(optionExpression expression, BaseOpaqueData myOpaque) { if (expression == null) { return(false); } opaqueDataOptionType opaqueOption = (opaqueDataOptionType)expression.Item; if (opaqueOption == null) { return(false); } @operator op = expression.@operator; return(Matches(myOpaque, opaqueOption.opaqueData, op)); }
public bool Matches(optionExpression expression) { if (expression == null) { return(false); } if (expression.code != this.code) { return(false); } unsignedShortOptionType exprOption = (unsignedShortOptionType)expression.Item; if (exprOption != null) { int exprUshort = exprOption.unsignedShort; @operator op = expression.@operator; if (op.Equals(@operator.equals)) { return(unsignedShort == exprUshort); } else if (op.Equals(@operator.lessThan)) { return(unsignedShort < exprUshort); } else if (op.Equals(@operator.lessThanOrEqual)) { return(unsignedShort <= exprUshort); } else if (op.Equals(@operator.greaterThan)) { return(unsignedShort > exprUshort); } else if (op.Equals(@operator.greaterThanOrEqual)) { return(unsignedShort >= exprUshort); } else { log.Warn("Unsupported expression operator: " + op); } } // then see if we have an opaque option opaqueDataOptionType opaqueOption = (opaqueDataOptionType)expression.Item; if (opaqueOption != null) { opaqueData opaque = opaqueOption.opaqueData; if (opaque != null) { string ascii = opaque.asciiValue; if (ascii != null) { try { // need an Integer to handle unsigned short if (unsignedShort == int.Parse(ascii)) { return(true); } } catch (Exception ex) { log.Error("Invalid unsigned short ASCII value for OpaqueData: " + ascii); } } else { byte[] hex = opaque.hexValue; if ((hex != null) && (hex.Length >= 1) && (hex.Length <= 2)) { int hexUnsignedShort = Convert.ToInt32(Util.ToHexString(hex), 16); if (unsignedShort == hexUnsignedShort) { return(true); } } } } } return(false); }
public DhcpUnknownOption(opaqueDataOptionType unknownOption) : base(unknownOption) { }
/** * Instantiates a new generic opaque opaqueData option. * * @param code the option code * @param name the option name * @param opaqueDataOption the opaque opaqueData option */ public GenericOpaqueDataOption(int code, string name, opaqueDataOptionType opaqueDataOption) : base(opaqueDataOption) { SetCode(code); SetName(name); }