/// <summary> /// Asynchronously validate the Data packet. /// </summary> /// /// <param name="data">The Data packet to validate, which is copied.</param> /// <param name="successCallback"></param> /// <param name="failureCallback">ValidationError.</param> public void validate(Data data, DataValidationSuccessCallback successCallback, DataValidationFailureCallback failureCallback) { DataValidationState state = new DataValidationState(data, successCallback, failureCallback); logger_.log(ILOG.J2CsMapping.Util.Logging.Level.FINE, "Start validating data {0}", data.getName() .toUri()); policy_.checkPolicy(data, state, new Validator.Anonymous_C3(this)); }
/// <summary> /// Create a DataValidationState for the Data packet. /// The caller must ensure that the state instance is valid until the validation /// finishes (i.e., until validateCertificateChain() and /// validateOriginalPacket() have been called). /// </summary> /// /// <param name="data">The Data packet being validated, which is copied.</param> /// <param name="successCallback"></param> /// <param name="failureCallback"></param> public DataValidationState(Data data, DataValidationSuccessCallback successCallback, DataValidationFailureCallback failureCallback) { // Make a copy. data_ = new Data(data); successCallback_ = successCallback; failureCallback_ = failureCallback; if (successCallback_ == null) { throw new ArgumentException("The successCallback is null"); } if (failureCallback_ == null) { throw new ArgumentException("The failureCallback is null"); } }