/// <summary> /// Constructs an LdapExtendedRequest. /// </summary> /// <param name="op"> /// The object which contains (1) an identifier of an extended /// operation which should be recognized by the particular Ldap /// server this client is connected to, and (2) an operation- /// specific sequence of octet strings or BER-encoded values. /// </param> /// <param name="cont"> /// Any controls that apply to the extended request /// or null if none. /// </param> public LdapExtendedRequest(LdapExtendedOperation op, LdapControl[] cont) : base( EXTENDED_REQUEST, new RfcExtendedRequest(new RfcLdapOID(op.getID()), op.getValue() != null ? new Asn1OctetString(op.getValue()) : null), cont) { }
/// <summary> Formulates the extended operation, constraints into an /// LdapMessage and returns the LdapMessage. This is used by /// extendedOperation and startTLS which needs the LdapMessage to /// get the MessageID. /// </summary> protected internal virtual LdapMessage MakeExtendedOperation(LdapExtendedOperation op, LdapConstraints cons) { // Use default constraints if none-specified if (cons == null) cons = defSearchCons; // error check the parameters if ((System.Object) op.getID() == null) { // Invalid extended operation parameter, no OID specified throw new System.ArgumentException(ExceptionMessages.OP_PARAM_ERROR); } return new LdapExtendedRequest(op, cons.getControls()); }
/// <summary> Constructs an LdapExtendedRequest. /// /// </summary> /// <param name="op"> The object which contains (1) an identifier of an extended /// operation which should be recognized by the particular Ldap /// server this client is connected to, and (2) an operation- /// specific sequence of octet strings or BER-encoded values. /// /// </param> /// <param name="cont">Any controls that apply to the extended request /// or null if none. /// </param> public LdapExtendedRequest(LdapExtendedOperation op, LdapControl[] cont) : base(LdapMessage.EXTENDED_REQUEST, new RfcExtendedRequest(new RfcLdapOID(op.getID()), (op.getValue() != null)?new Asn1OctetString(op.getValue()):null), cont) { return ; }