LdifDotNet.xml

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>LdifDotNet</name>
    </assembly>
    <members>
        <member name="T:LdifDotNet.Dn">
            <summary>
            RFC 4514 distinguished-name composition: escape attribute values, build RDNs
            and DNs from parts, and parse a DN string into its ordered components. This is
            deliberately DN <em>string</em> handling only — it does not normalize, compare,
            or schema-match names. LDIF line encoding (RFC 2849) is a separate concern
            handled by <see cref="T:LdifDotNet.LdifWriter"/> and <see cref="T:LdifDotNet.LdifReader"/>.
            </summary>
        </member>
        <member name="M:LdifDotNet.Dn.EscapeValue(System.String)">
            <summary>
            Escapes an attribute value for use inside a DN per RFC 4514 §2.4:
            backslash-escapes <c>" + , ; &lt; &gt; \</c> anywhere, a leading <c>#</c> or space,
            and a trailing space; hex-escapes NUL (which RFC 4514 forbids even when
            backslash-escaped). Other characters, including control characters, are left
            as-is — the LDIF writer base64-encodes the resulting DN line when needed.
            </summary>
        </member>
        <member name="M:LdifDotNet.Dn.UnescapeValue(System.String)">
            <summary>
            Reverses <see cref="M:LdifDotNet.Dn.EscapeValue(System.String)"/> and, more generally, decodes any RFC 4514
            §2.3 escaping: <c>\c</c> yields the literal character, and runs of <c>\XX</c>
            hex pairs are decoded as UTF-8 octets (so <c>\C4\8D</c> becomes "č").
            A hexstring value (a leading unescaped <c>#</c>, i.e. BER-encoded) is returned
            verbatim without decoding. Throws on a malformed trailing escape.
            </summary>
        </member>
        <member name="M:LdifDotNet.Dn.Rdn(System.String,System.String)">
            <summary>
            Builds one RDN component, escaping the value: <c>Rdn("cn", "Smith, Jr.")</c>
            yields <c>cn=Smith\, Jr.</c>. Use <see cref="M:LdifDotNet.Dn.Combine(System.String[])"/> to attach it to a parent DN.
            </summary>
        </member>
        <member name="M:LdifDotNet.Dn.Combine(System.String[])">
            <summary>
            Joins already-formed DN parts (RDNs or whole DNs) with commas, skipping null or
            empty parts. The parts are assumed already escaped — a parent DN is appended
            verbatim: <c>Combine(Rdn("uid", uid), "ou=people,dc=example,dc=com")</c>.
            </summary>
        </member>
        <member name="M:LdifDotNet.Dn.Parse(System.String)">
            <summary>
            Parses a DN string into its RDNs, most-specific first, with values unescaped.
            Multi-valued RDNs (<c>a=1+b=2</c>) are represented as one
            <see cref="T:LdifDotNet.RelativeDistinguishedName"/> with several attributes rather than being
            flattened. Insignificant whitespace around separators is tolerated. An empty or
            whitespace-only string yields an empty list; a component missing <c>=</c> throws.
            </summary>
        </member>
        <member name="M:LdifDotNet.Dn.IsValidAttributeType(System.String)">
            <summary>RFC 4514 attributeType: an RFC 4512 <c>descr</c> (letter, then letters/digits/hyphens) or a <c>numericoid</c>.</summary>
        </member>
        <member name="M:LdifDotNet.Dn.IsNumericOid(System.String)">
            <summary>RFC 4512 numericoid: 1*DIGIT *("." 1*DIGIT).</summary>
        </member>
        <member name="M:LdifDotNet.Dn.SplitUnescaped(System.String,System.Char)">
            <summary>Splits on <paramref name="separator"/> characters that are not backslash-escaped, keeping escapes intact.</summary>
        </member>
        <member name="M:LdifDotNet.Dn.TrimUnescaped(System.String)">
            <summary>Trims insignificant leading/trailing ASCII spaces, preserving a backslash-escaped trailing space.</summary>
        </member>
        <member name="T:LdifDotNet.AttributeTypeAndValue">
            <summary>One attribute type and its (unescaped) value within an RDN (RFC 4514 attributeTypeAndValue).</summary>
        </member>
        <member name="M:LdifDotNet.AttributeTypeAndValue.#ctor(System.String,System.String)">
            <summary>One attribute type and its (unescaped) value within an RDN (RFC 4514 attributeTypeAndValue).</summary>
        </member>
        <member name="T:LdifDotNet.RelativeDistinguishedName">
            <summary>
            A relative distinguished name: one attribute, or several joined by '+' in a
            multi-valued RDN. Values are unescaped.
            </summary>
        </member>
        <member name="P:LdifDotNet.RelativeDistinguishedName.Attributes">
            <summary>The attributes of this RDN, in declaration order.</summary>
        </member>
        <member name="P:LdifDotNet.RelativeDistinguishedName.IsMultiValued">
            <summary>True when this RDN joins more than one attribute with '+'.</summary>
        </member>
        <member name="P:LdifDotNet.RelativeDistinguishedName.SoleAttribute">
            <summary>The single attribute of a single-valued RDN. Throws when <see cref="P:LdifDotNet.RelativeDistinguishedName.IsMultiValued"/>.</summary>
        </member>
        <member name="P:LdifDotNet.RelativeDistinguishedName.Type">
            <summary>The attribute type of a single-valued RDN. Throws when <see cref="P:LdifDotNet.RelativeDistinguishedName.IsMultiValued"/>.</summary>
        </member>
        <member name="P:LdifDotNet.RelativeDistinguishedName.Value">
            <summary>The unescaped value of a single-valued RDN. Throws when <see cref="P:LdifDotNet.RelativeDistinguishedName.IsMultiValued"/>.</summary>
        </member>
        <member name="M:LdifDotNet.RelativeDistinguishedName.ToString">
            <summary>The RDN in escaped RFC 4514 string form.</summary>
        </member>
        <member name="T:LdifDotNet.LdifAttribute">
            <summary>An attribute description and its values, in document order.</summary>
        </member>
        <member name="M:LdifDotNet.LdifAttribute.#ctor(System.String,LdifDotNet.LdifValue[])">
            <summary>Creates an attribute with the given description and values.</summary>
        </member>
        <member name="M:LdifDotNet.LdifAttribute.#ctor(System.String,System.Collections.Generic.IEnumerable{LdifDotNet.LdifValue})">
            <summary>Creates an attribute with the given description and values.</summary>
        </member>
        <member name="P:LdifDotNet.LdifAttribute.Name">
            <summary>The attribute description, including any options (e.g. "userCertificate;binary").</summary>
        </member>
        <member name="P:LdifDotNet.LdifAttribute.Values">
            <summary>The attribute's values, in declaration order.</summary>
        </member>
        <member name="T:LdifDotNet.LdifChangeRecord">
            <summary>Base type for change records (changetype: add/delete/modify/moddn).</summary>
        </member>
        <member name="P:LdifDotNet.LdifChangeRecord.Controls">
            <summary>Controls attached to this change record via "control:" lines.</summary>
        </member>
        <member name="T:LdifDotNet.LdifControl">
            <summary>An LDAP control attached to a change record.</summary>
        </member>
        <member name="M:LdifDotNet.LdifControl.#ctor(System.String,System.Nullable{System.Boolean},System.Nullable{LdifDotNet.LdifValue})">
            <summary>Creates a control with the given OID, optional criticality, and optional value.</summary>
        </member>
        <member name="P:LdifDotNet.LdifControl.Oid">
            <summary>The control's numeric OID.</summary>
        </member>
        <member name="P:LdifDotNet.LdifControl.Criticality">
            <summary>The control's criticality; null when the LDIF line omits it.</summary>
        </member>
        <member name="P:LdifDotNet.LdifControl.Value">
            <summary>The control's value; null when the LDIF line has none.</summary>
        </member>
        <member name="T:LdifDotNet.LdifAddRecord">
            <summary>A change record with changetype: add.</summary>
        </member>
        <member name="M:LdifDotNet.LdifAddRecord.#ctor(System.String,LdifDotNet.LdifAttribute[])">
            <summary>Creates an add change record with the given DN and attributes.</summary>
        </member>
        <member name="M:LdifDotNet.LdifAddRecord.#ctor(System.String,System.Collections.Generic.IEnumerable{LdifDotNet.LdifAttribute})">
            <summary>Creates an add change record with the given DN and attributes.</summary>
        </member>
        <member name="P:LdifDotNet.LdifAddRecord.Attributes">
            <summary>The attributes of the entry to add, in declaration order.</summary>
        </member>
        <member name="T:LdifDotNet.LdifDeleteRecord">
            <summary>A change record with changetype: delete.</summary>
        </member>
        <member name="M:LdifDotNet.LdifDeleteRecord.#ctor(System.String)">
            <summary>Creates a delete change record for the given DN.</summary>
        </member>
        <member name="T:LdifDotNet.LdifModifyRecord">
            <summary>A change record with changetype: modify.</summary>
        </member>
        <member name="M:LdifDotNet.LdifModifyRecord.#ctor(System.String,LdifDotNet.LdifModification[])">
            <summary>Creates a modify change record with the given DN and modifications.</summary>
        </member>
        <member name="M:LdifDotNet.LdifModifyRecord.#ctor(System.String,System.Collections.Generic.IEnumerable{LdifDotNet.LdifModification})">
            <summary>Creates a modify change record with the given DN and modifications.</summary>
        </member>
        <member name="P:LdifDotNet.LdifModifyRecord.Modifications">
            <summary>The modifications to apply, in declaration order.</summary>
        </member>
        <member name="T:LdifDotNet.LdifModification">
            <summary>One add/delete/replace operation within a modify change record.</summary>
        </member>
        <member name="M:LdifDotNet.LdifModification.#ctor(LdifDotNet.LdifModificationType,System.String,LdifDotNet.LdifValue[])">
            <summary>Creates a modification of the given type, attribute, and values.</summary>
        </member>
        <member name="M:LdifDotNet.LdifModification.#ctor(LdifDotNet.LdifModificationType,System.String,System.Collections.Generic.IEnumerable{LdifDotNet.LdifValue})">
            <summary>Creates a modification of the given type, attribute, and values.</summary>
        </member>
        <member name="P:LdifDotNet.LdifModification.Type">
            <summary>The operation this modification performs.</summary>
        </member>
        <member name="P:LdifDotNet.LdifModification.AttributeName">
            <summary>The attribute description the modification targets.</summary>
        </member>
        <member name="P:LdifDotNet.LdifModification.Values">
            <summary>The operation's values; may be empty (e.g. delete-all-values).</summary>
        </member>
        <member name="T:LdifDotNet.LdifModificationType">
            <summary>The operation of one modify-record spec.</summary>
        </member>
        <member name="F:LdifDotNet.LdifModificationType.Add">
            <summary>Add the given values to the attribute.</summary>
        </member>
        <member name="F:LdifDotNet.LdifModificationType.Delete">
            <summary>Delete the given values, or the whole attribute when no values are given.</summary>
        </member>
        <member name="F:LdifDotNet.LdifModificationType.Replace">
            <summary>Replace all values of the attribute with the given ones.</summary>
        </member>
        <member name="F:LdifDotNet.LdifModificationType.Increment">
            <summary>Modify-Increment extension (RFC 4525); supported by OpenLDAP.</summary>
        </member>
        <member name="T:LdifDotNet.LdifModDnRecord">
            <summary>A change record with changetype: moddn or modrdn.</summary>
        </member>
        <member name="M:LdifDotNet.LdifModDnRecord.#ctor(System.String,System.String,System.Boolean,System.String)">
            <summary>Creates a moddn/modrdn change record.</summary>
        </member>
        <member name="P:LdifDotNet.LdifModDnRecord.NewRdn">
            <summary>The entry's new relative distinguished name.</summary>
        </member>
        <member name="P:LdifDotNet.LdifModDnRecord.DeleteOldRdn">
            <summary>Whether the old RDN attribute values are removed from the entry.</summary>
        </member>
        <member name="P:LdifDotNet.LdifModDnRecord.NewSuperior">
            <summary>DN of the new parent entry; null keeps the current parent.</summary>
        </member>
        <member name="T:LdifDotNet.LdifParseException">
            <summary>Thrown when LDIF input cannot be parsed.</summary>
        </member>
        <member name="M:LdifDotNet.LdifParseException.#ctor(System.String,System.Int32)">
            <summary>Creates the exception for a failure at the given 1-based physical line number.</summary>
        </member>
        <member name="P:LdifDotNet.LdifParseException.LineNumber">
            <summary>1-based physical line number in the input where the error was detected.</summary>
        </member>
        <member name="T:LdifDotNet.LdifReader">
            <summary>
            Streaming, forward-only LDIF reader (RFC 2849). Tolerant of LF and CRLF line
            endings, missing version lines, and mixed content/change records in one file.
            </summary>
        </member>
        <member name="M:LdifDotNet.LdifReader.#ctor(System.IO.TextReader)">
            <summary>Creates a reader over the given text; the reader does not take ownership of it.</summary>
        </member>
        <member name="M:LdifDotNet.LdifReader.ReadRecord">
            <summary>Reads the next record, or returns null at end of input.</summary>
        </member>
        <member name="M:LdifDotNet.LdifReader.ReadFile(System.String)">
            <summary>Lazily reads all records from an LDIF file.</summary>
        </member>
        <member name="M:LdifDotNet.LdifReader.Read(System.IO.TextReader)">
            <summary>Lazily reads all records from a reader.</summary>
        </member>
        <member name="M:LdifDotNet.LdifReader.Parse(System.String)">
            <summary>Parses all records from an LDIF string.</summary>
        </member>
        <member name="M:LdifDotNet.LdifReader.Dispose">
            <summary>Releases the underlying reader when this instance owns it (file-based readers).</summary>
        </member>
        <member name="M:LdifDotNet.LdifReader.ReadRecordLines">
            <summary>
            Reads the next block of logical (unfolded) lines, dropping comments and their
            continuations. Returns null at end of input.
            </summary>
        </member>
        <member name="M:LdifDotNet.LdifReader.DecodeDnField(LdifDotNet.LdifValue,System.String,System.Int32)">
            <summary>
            Converts a DN-valued field (dn, newrdn, newsuperior) to text. RFC 2849
            requires base64-encoded distinguished-name fields to be valid UTF-8, so
            invalid sequences are a parse error rather than silent U+FFFD replacement.
            </summary>
        </member>
        <member name="M:LdifDotNet.LdifReader.ParseValueSpec(LdifDotNet.LdifReader.LogicalLine,System.Int32)">
            <summary>Parses a value-spec: ": text", ":: base64" or ":&lt; url" starting at <paramref name="colon"/>.</summary>
        </member>
        <member name="M:LdifDotNet.LdifReader.LineName(LdifDotNet.LdifReader.LogicalLine)">
            <summary>The attribute name of a logical line, or null if it has no ':' separator.</summary>
        </member>
        <member name="T:LdifDotNet.LdifRecord">
            <summary>Base type for all LDIF records (content records and change records).</summary>
        </member>
        <member name="P:LdifDotNet.LdifRecord.Dn">
            <summary>The record's distinguished name.</summary>
        </member>
        <member name="T:LdifDotNet.LdifContentRecord">
            <summary>A content record: a DN and its attributes (RFC 2849 ldif-content).</summary>
        </member>
        <member name="M:LdifDotNet.LdifContentRecord.#ctor(System.String,LdifDotNet.LdifAttribute[])">
            <summary>Creates a content record with the given DN and attributes.</summary>
        </member>
        <member name="M:LdifDotNet.LdifContentRecord.#ctor(System.String,System.Collections.Generic.IEnumerable{LdifDotNet.LdifAttribute})">
            <summary>Creates a content record with the given DN and attributes.</summary>
        </member>
        <member name="P:LdifDotNet.LdifContentRecord.Attributes">
            <summary>The entry's attributes, in declaration order.</summary>
        </member>
        <member name="P:LdifDotNet.LdifContentRecord.Item(System.String)">
            <summary>The first attribute with the given name (case-insensitive), or null.</summary>
        </member>
        <member name="T:LdifDotNet.LdifValue">
            <summary>
            A single attribute value. LDIF values are octet strings; this type tracks whether
            the value is textual (safe string), binary (base64-encoded in LDIF), or a URL
            reference (":&lt;" in LDIF, content not loaded). Equality compares octets, so a
            value read from base64 equals the same text read directly.
            </summary>
        </member>
        <member name="M:LdifDotNet.LdifValue.FromString(System.String)">
            <summary>Creates a textual value.</summary>
        </member>
        <member name="M:LdifDotNet.LdifValue.FromBytes(System.Byte[])">
            <summary>Creates a binary value. The input array is copied, so later mutation
            of <paramref name="value"/> cannot affect this value's bytes, equality, or hash.</summary>
        </member>
        <member name="M:LdifDotNet.LdifValue.FromOwnedBytes(System.Byte[])">
            <summary>Creates a binary value that takes ownership of <paramref name="value"/>
            without copying. The caller must not retain or mutate the array; used by the
            reader for freshly decoded base64 buffers.</summary>
        </member>
        <member name="M:LdifDotNet.LdifValue.FromUrl(System.Uri)">
            <summary>Creates a URL value reference. The URI must be absolute: RFC 2849
            URL references are resolved by the consumer, and this library's reader
            rejects relative references, so a relative URI could never round-trip.</summary>
        </member>
        <member name="M:LdifDotNet.LdifValue.op_Implicit(System.String)~LdifDotNet.LdifValue">
            <summary>Converts a string to a textual value; equivalent to <see cref="M:LdifDotNet.LdifValue.FromString(System.String)"/>.</summary>
        </member>
        <member name="P:LdifDotNet.LdifValue.IsBinary">
            <summary>True when the value was constructed from (or parsed as) raw bytes.</summary>
        </member>
        <member name="P:LdifDotNet.LdifValue.IsUrl">
            <summary>True when the value is a URL reference whose content has not been loaded.</summary>
        </member>
        <member name="P:LdifDotNet.LdifValue.Url">
            <summary>The referenced URL, or null when the value is not a URL reference.</summary>
        </member>
        <member name="M:LdifDotNet.LdifValue.AsString">
            <summary>The value as text. Binary values are decoded as UTF-8.</summary>
        </member>
        <member name="M:LdifDotNet.LdifValue.AsBytes">
            <summary>The value as raw bytes. Textual values are encoded as UTF-8.
            The returned array is a copy; mutating it cannot affect this value.</summary>
        </member>
        <member name="P:LdifDotNet.LdifValue.BinaryOctets">
            <summary>The internal byte storage when binary, without copying; null for
            text and URL values. Used by the reader for strict UTF-8 decoding of DN fields.</summary>
        </member>
        <member name="M:LdifDotNet.LdifValue.Equals(LdifDotNet.LdifValue)">
            <summary>Octet-wise equality: a value read from base64 equals the same text read directly.
            URL references compare by URI.</summary>
        </member>
        <member name="M:LdifDotNet.LdifValue.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:LdifDotNet.LdifValue.op_Equality(LdifDotNet.LdifValue,LdifDotNet.LdifValue)">
            <summary>Octet-wise equality; see <see cref="M:LdifDotNet.LdifValue.Equals(LdifDotNet.LdifValue)"/>.</summary>
        </member>
        <member name="M:LdifDotNet.LdifValue.op_Inequality(LdifDotNet.LdifValue,LdifDotNet.LdifValue)">
            <summary>Octet-wise inequality; see <see cref="M:LdifDotNet.LdifValue.Equals(LdifDotNet.LdifValue)"/>.</summary>
        </member>
        <member name="M:LdifDotNet.LdifValue.GetHashCode">
            <summary>Hash over the value's octets, consistent with <see cref="M:LdifDotNet.LdifValue.Equals(LdifDotNet.LdifValue)"/>.</summary>
        </member>
        <member name="M:LdifDotNet.LdifValue.ToString">
            <summary>The value as text; URL references return the original URI string.</summary>
        </member>
        <member name="T:LdifDotNet.LdifWriter">
            <summary>
            Forward-only LDIF writer (RFC 2849). Emits strictly conformant output:
            base64-encodes values that are not safe strings and folds long lines.
            Lines are always terminated with LF. Records that cannot be serialized as
            valid RFC 2849 are rejected before anything is written: a document may not
            mix content and change records, content and add records need at least one
            attribute, and attribute descriptions and control OIDs must match the RFC
            grammar. The record model itself is deliberately permissive; this writer is
            the enforcement point.
            </summary>
        </member>
        <member name="M:LdifDotNet.LdifWriter.#ctor(System.IO.TextWriter,LdifDotNet.LdifWriterOptions)">
            <summary>Creates a writer over the given text writer; options are snapshotted, and
            the writer does not take ownership of <paramref name="writer"/>.</summary>
        </member>
        <member name="M:LdifDotNet.LdifWriter.WriteRecord(LdifDotNet.LdifRecord)">
            <summary>Writes one record, validating first that it can be serialized as
            strict RFC 2849 within this document (see the class summary).</summary>
        </member>
        <member name="M:LdifDotNet.LdifWriter.WriteFile(System.String,System.Collections.Generic.IEnumerable{LdifDotNet.LdifRecord},LdifDotNet.LdifWriterOptions)">
            <summary>Writes all records to a file (UTF-8, LF line endings).</summary>
        </member>
        <member name="M:LdifDotNet.LdifWriter.WriteToString(System.Collections.Generic.IEnumerable{LdifDotNet.LdifRecord},LdifDotNet.LdifWriterOptions)">
            <summary>Writes all records to an LDIF string.</summary>
        </member>
        <member name="M:LdifDotNet.LdifWriter.Dispose">
            <summary>Flushes the underlying writer; ownership stays with the caller.</summary>
        </member>
        <member name="M:LdifDotNet.LdifWriter.ValidateRecord(LdifDotNet.LdifRecord)">
            <summary>
            Rejects records the writer could only serialize as invalid RFC 2849.
            Runs before any output so a failed record never leaves partial lines.
            </summary>
        </member>
        <member name="M:LdifDotNet.LdifWriter.FirstEmptyValuedAttributeName(System.Collections.Generic.IReadOnlyList{LdifDotNet.LdifAttribute})">
            <summary>
            The name of the first attribute with no values, or null. An empty-valued
            attribute emits no lines, so it would be silently dropped from strict output.
            </summary>
        </member>
        <member name="M:LdifDotNet.LdifWriter.IsAttributeDescription(System.String)">
            <summary>
            RFC 2849 AttributeDescription: a numeric OID or a descr (ALPHA then
            ALPHA / DIGIT / "-"), followed by zero or more non-empty ";option" parts.
            </summary>
        </member>
        <member name="M:LdifDotNet.LdifWriter.IsNumericOid(System.String)">
            <summary>RFC 2849 ldap-oid: 1*DIGIT *("." 1*DIGIT).</summary>
        </member>
        <member name="M:LdifDotNet.LdifWriter.IsSafeString(System.String)">
            <summary>
            RFC 2849 SAFE-STRING: ASCII without NUL/CR/LF, not starting with space, ':'
            or '&lt;'. Values ending with a space are treated as unsafe per note 8.
            </summary>
        </member>
        <member name="T:LdifDotNet.LdifWriterOptions">
            <summary>
            Options controlling LDIF output. Values are snapshotted by the
            <see cref="T:LdifDotNet.LdifWriter"/> constructor; changes after construction have no
            effect on an existing writer.
            </summary>
        </member>
        <member name="P:LdifDotNet.LdifWriterOptions.WrapColumn">
            <summary>
            Column at which output lines are folded. Default 76 per RFC 2849.
            Set to null to disable folding entirely (like ldapsearch -o ldif-wrap=no);
            such output is not strictly RFC-conformant but is widely accepted.
            </summary>
        </member>
        <member name="P:LdifDotNet.LdifWriterOptions.IncludeVersionLine">
            <summary>Whether to emit "version: 1" before the first record. Default true.</summary>
        </member>
    </members>
</doc>